I agree. There are 10 Great People available. So if you want a specific one, you may be lucky and get it instantly or unlucky and need to build all 10 of them. That can be frustrating.
I think one solution might be if the game just randomized the list once, and then offered you a choice of say the top 3 in the list. After you have picked one, the other 2 will be moved to the bottom of the list. With the next great person you then again get the choice of the top 3 in this list and so on. With a system like that, you would have iterated through the whole list with the 4th great person, so in the worst case the 4th choice will include the one you are looking for.
This could also work with a set of only two people offered each time. In this case you would need 5 iterations to go through all of them one time, so in the worst case you would have to built half as many of them as with the current system.
A system like that would still be random, but a bit more predictable, while also offering an interesting decision each time about getting a specific one right now at the "cost" of delaying the other choice.