I don't have it coded but if I were to do it, this would be my method:
1) get the ID of the first and latest blog created. Let's say 1 and 2500
2) Generate a random number (tons of ways to do this) between 1 and 2500
3) Check to see if a blog with that ID number exists just in case it was deleted at some point.
Ofcourse it won't hit an active blog every single time but it should not take more than 2-3 loops to grab one that exists.
Now, the another method is grabing all the blog IDs and putting them in an array. Then generate a random number based on the array. This method would toss out an existing blog everytime but that would be one *BIG* array if you had several thousand blogs.
The last method would be similar to the one above except I would do this:
1) grab the first created blog ID and the latest.
2) subtract 100 from the latest blog ID number.
3) Generate a random number between 1st blog ID# and last blog ID# - 100 and copy the number to another variable and add 100
4) Get all blog IDs between $ran1 and $ran2(ie ran1 +100) and put those blog IDs into an array.
5) Grab random blog ID from array
This last method is simailar to the one above it except it will drastically cut down on the array size.
You could probably whip up a plugin for this in ten minutes. :)