Order doesn't matter since at usage time, everything you set will be there. For aliases, aliases are looked up when the alias is executed, so you can bind even before defining an alias. The cmdline is just strings when you assign values, aliases, binds, etc. For convars, an exec will run synchronously to the main thread of the game, so there is no race condition when changing multiple values.
If you are concerned about material system convars with the material system thread, those are "uploaded" to the material system after an exec in complete, so same thing there. And keep in mind that at initialization, TF2 runs the material system synchronously anyway, so autoexecs are safe either way. The threaded material system is only started after you join a game (or the frame after you set mat_queue_mode 2).
As for commands, they will obviously execute in order as you put them, but there is no general practice for ordering these, since there are possibly hundreds of commands with their own functionality, and you will have to determine the correct ordering for your intention on a case by case basis.