Okay, dumb question. Why don't you run the RNG once ... and then, go down the list until you find the first active number. That would seem just as fair and much easier. In fact, one could run it a day or so early (barring someone signing up at the eleventh hour) and take that number along with you on your travels.
Sounds fair at first, but if someone has a number with 5 expired numbers just ahead (say 101, 102, 103, 104, 105 are expired, and he is 106) then he has 6 times the chance that active number 107 has. (Six numbers pay to 106, only one to 107).
And, since I haven't won a wonderful Zen or Sweet Inspiration yet, I am obviously (and mathematically) more likely number 107 than 106.
So, regeneration sounds like the best way short of sorting the list and using only active numbers. If I come up with a better solution, I'll trade it for a nice Skydog kite.