And what about use the purely "gamer´s point of view" as a point of departure? Let us presume a situation just short of the victory conditions, i.e. very late game.How many legions would be necessary in such a game?

I would presume following:
Italy - 1 - homeland defense and rapid response force
Iberia - 1 - already conquered, enough to hunt down rebels
Galia - 2-3 - beacause of the dangerous border with the Sweboz
Alpes - 2 - beacause of the dangerous border with the Sweboz
Illyria - 1 - to guard border with the Getai
Greece - 1 - already conquered, enough to hunt down rebels and to reinforce northern border
Thrace - 1 - to guard northern border
Asia Minor - 2 - conquered, but necessary to guard Caucasus border
Levant - 2-3 - because of the open eastern border
Egypt - 2 - because of the open southern border
North African coast - 1 - already conquered, enough to hunt down rebels

In total this is 16-18 legions. Add another two as a reserve and you have a nice number of 20 legions in total, which should be sufficient for the whole gameplay.

As there will never be a perfect match between the three attributes (legion number, legion name, and the sequence in which legions were raised) not to speak about the particular time and circumstances in which a particular legion was raised, I suggest to disconnect the legionary names and numbers, so that we will have a sequence of legionary ancillaries numbered from I to XX, which will be unlocked as the empire would grow bigger (1 legion to every 3-4 provinces). Now, the names assigned to these legions IMHO need not to correspond to their historical counterparts, so that we could have for example: Legio I Italica, Legio II Ferrata, Legio III Rapax, ... Legio XI Hispanica, Legio XI Gallica, ...
The point is, that those names which bear no particular geographical or temporal connotation (as any military unit in any period could call itself "Ferrata") would be those which the player would get first, as we have no chance to know how and where he/she would use them. Of course, the description (coded in export_ancillaries) would tell the player that historically the name Ferrata belonged to the Famous Caesar´s Sixth Legion, raised in 65 BC, which served with him in Gaul....
The geographical names like Hispanica, Gallica, etc. would appear later in the game (and we can easily code a condition in the trigger to make sure that the player already owns at least one city in Hispania or Gaul) and the player than could easily do all the steps to get the trait to the commander of a legion that actually resides in Hispania, if he/she woud want to do it...

O.K., it is no fancy coding, but I think that in this way the cost/benefit balance woud still be on the positive side.