I agree, we need to manage their expectations and let them know if their request is downright daft (of which we have had plenty!) or, after a certain amount of effort, not practical. However, in just in this case I happen to agree with the customer in that it will be easier to find layers if they were in alphabetical order. Whilst layers need to be drawn in a certain order to ensure the best possible cartographic representation, I see no cartographic reason that that is the order they have to be displayed on on the layer list, only limits to the technology.
I actually think, after much googling, I have managed to work out a way round this too! Instead of creating a new service for each layer, just add each layer from the service to AGOL separately using the layer id from the REST endpoint. That way the code to sort the array should work perfectly. I hope!!
Thanks again for your help. Don't think we would have got anywhere near the map we have if it wasn't for your input.