In historical linguistics of spoken languages, we think of sound changes as happening fairly regularly (and unconsciously) across all the words in the lexicon that have the relevant sounds, so these changes have an input and and output. The way you've formulated the vowel change that you listed first, it could be formulated like this:
INPUT > OUTPUT
short [a,o,u] > [a]
If any other sound change has a short vowel [a], [o], or [u] in its output, then there is a crucial ordering of changes. The same is true for any change that takes [a] as its input.
Once a sound change like the one above happens, the speakers of the language don't process the different kinds of [a] as different from each other. You can't feel that one [a] is from an older *o and that another one is from an older *a (though there are things like preserved spelling and phonological changes that can sometimes reveal the differences in origin).
Let's say you have two changes:
*k > [h]
*g > [k]
If you can combine the rules into *g > [k] > [h], then that means the sound change *g > [k] was the first to take place in the language, because the speakers did not differentiate [k] from *k vs. [k] from *g, and all of them took part in the subsequent change *k > [h].
If, on the other hand, *g became [k] and stayed that way, while *k became [h], then you know that the change that first took place is *k > [h], because [k] was brought back into the language from *g but did not become [h].
You need to see if any outputs to the sound changes you know about were inputs to another sound change, and how many times these sounds changed.