You can create a table with 11 (considering that the experience increases in steps of 10, and max is 100) columns (Zero, Ten, Twenty, Thirty, Forty, Fifty, Sixty, Seventy, Eighty, Ninety, One Hundred). To simplify lets also assume that the game is tick based.
Tick 1 - Player created 10 units -> Add 10 to column Zero
Tick 2 - Player created 0 units -> Add 10 to column Ten, Subtract 10 from column Zero
Tick 3 - Player created 5 units -> Add 5 to column Zero, Add 10 to column Twenty, Subtract 10 from column Ten
So you now know that of the 15 units you created, 10 of them are at level 20, and 5 are at level 0, you don't really need to know which ones, just how many. What you're doing basically is moving the units up the experience ladder.
In practice you would have to do the following in each "tick"
column100.value = column100.value + column90.value
column90.value = column80.value
column80.value = column70.value
column70.value = column60.value
column50.value = column40.value
...
column0.value = AmountOfUnitsCreated
I understand that this is not an elegant solution and that it can get a bit messy if you have more steps or a higher max level, but I think it's less expensive than storing each unit and the time it was created.