hi Wesley,
you'd really need to post this question to a forum particular to your database. Commands are written in your db syntax.
mostly you'd need to know if your database actually supports a row level random function for the option number (2). some db's don't...i.e. they support a query level random function where the random number is a single number per query versus a different number for each row. if that's the case you'll need to look for a workaround particular to your db.
for the other options look into seeing whether or not your database supports a CASE statement for the ORDER BY clause and the WHERE clause as you'd need to either use the WHERE clause for picking 5 user entered profile ID's or the ORDER BY clause to get the Top 5 Used Profile ID's.
so given your db and version this type of command is possible.
-jamie