Well wherever you call a Create Unit, you can create x number of units using whatever unit is stored at an element of the array.
If you do this, then you wont have to check and see what building they have in the same trigger, all you do is change it depending on what structure they have on them at the time.
Example, if they start the game off. You can store the footman in all elements. And in a trigger that creates the units for you, it will create 12 footmen, one for each player by accessing different elements of the array for different people.