Sup firepages, been awhile since I've run into you on here
Being the king of over-complication myself, I'd write a priority queue if I were in a language like C#, and apply an algorithm that essentially allots an additional 10-15% probability for each level of the numeric queue. I guess the same logic can be applied to php as well, I'd simply keep the priority value within the database, say 1 through 5 (if we are looking at the 10-15% increase), and write a simple algorithm to drill down the priority numbers and select from that. Then randomly choose from the remaining results.
Does that make sense at all, or did I just confuse you as much as I just confused myself :P