first of all, nothing in computers is random. Varying algorithms give the impression of "randomness" but nothing is random in computers. So for anyone saying its completely random, you're either unfamiliar with how things work in the computer world, or you're hoping its random because the friends being listed is scaring you, either because deep down you think its either people you've been stalking or people who have been stalking you.
The fact that I've seen tons of people obsessing over this question and that no one has really yet to figure out how to control the friends that appear on the list tells me that there's a lot more to it and the programmers at facebook have developed (and I believe continue to develop) something ingenious that basically taps into our patterns of thinking, to be more specific... how we socially interact and how we non-verbally interact with each other. For example, anyone ever noticed someone looking at you, knowing that they want to be with you or want to ask you out, but they never actually say anything to you. Or another example, we've all seen movies where two people break up but they can't stop thinking of each other, and then one goes to call the other but they don't and the other person is thinking about doing the same thing, but they don't. I think facebook is mimicking the things we do with one another, and if you considered the person good enough to accept them as a friend on your facebook, than at one point you considered an actual friendship or more. I know this isn't to be entirely true, some people collect friends on facebook just to say they have a lot of friends, but maybe they've been looking at your page a lot more than you might think. Not only that, but if you suddenly one day decided to check out their page, then it's kind of like you returning all the looks they've been giving you. Scary, right? Sometimes we just smile at others to be nice, but they think it's more. What if facebook was doing the same thing.
I remember watching the movie about facebook, social network, and one of the final touches he added was statuses... letting people know if your in a relationship or single. What if the whole point of this was to connect people that in some way thought about each other, whether one did it, or the other, or both. I read on another post that that her list constantly includes her brother, her boyfriend and her tool of an ex. Brother makes sense, boyfriend makes sense, but why the tool of an ex? Without knowing the full story, why would someone keep their tool of an ex on their friends list? Unless the person is harboring some emotion toward that person still and possibly the other person is still obsessing and stalking her page. However, the fact remains that if the ex-boyfriend was un-friended he would no longer appear on the list. I once had an ex-girlfriend who called her ex-boyfriend an a-hole and a deadbeat, but after we broke up, she got back with him. I'm pretty sure that statistically I'm not the only person who's ever seen that happen. My ex called me names too i'm sure, but held onto my number and then one day broke up with him and got back with me. Don't judge, but the point is these things happen, and most people spill it out on social networks.
I'm not saying facebook would be reading your messages to try and purposely put your ex or someone you know has it bad for you on top of the list, but your patterns and their patterns verbal or not ultimately give you away. If there's one thing I know about people is that anything that can happen probably will happen. Anyone who is addicted to social networking becomes predictable. If I get to know someone long enough in person, I can tell what they are and aren't likely to do. It's the shy and quiet people who hardly ever interact that are harder to read. This should be common sense to most. Same rules apply to facebook imo.
I've read through most of the posts here and in most other places and while i haven't done my own tests like some others have, I'd like to believe that it has something to do with interactions and desired interactions (aka people stalking each other).
In order to really understand it, I think people would have to message the people in the top 8 that don't really seem make any sense as to why they are there, strike up a conversation, and pry for some information that might get them to divulge that maybe they have been looking at your page. Realistically though, I feel most people won't want to do this, out of a fear of discovering that they were right and that person is in fact stalking or on the flip side that person will say they haven't (even if they have) to avoid embarassment, and say they haven't viewed their profile.
So that being the case, I think the only way to really test it to get honest results would be if multiple folks came together online and did a social experiment to create multiple accounts where the only purpose of those accounts is to simulate and test out different scenarios (family scenarios, friend scenarios, relationship scenarios, cheater scenarios, stalker scenarios, business scenarios, etc). It would have to be a test that goes on over the natural course of time, because i'm guessing the algorithm facebook has put into place, has taken all these things into account... time, relationships, obsessions, personalies, impulses, chatting vs viewing... even things like a person breaking out of character and their typical habits.
For example our banks no our spending habits better than our closest family or friends. We're creatures of habit and I'm fairly certain facebook has our patterns decently figured out. The more time you spend on facebook, the better it gets to know you and your habits.
We're each unique, but collectively we become somewhat predictable, however the reason I think everyone is getting different results is because of our uniqueness factor. But our uniqueness isn't something we define when we create our accounts, it's something we define as time goes forward.
it's an algorithm that the programmers of facebook continue to feed variables into, it's unlikely any one individual will ever crack the algorithm, because of the human factor. Collectively however, I think the consensus is that people don't feel it's all that random, though occasionally it may seem like someone was thrown in at random, it's likely some other factor that kicked that person onto your list. Someone cracking the algorithm would be like someone finally creating artificial intelligence the way we see it in movies. To sum up, I believe the "randomness" isn't all that random. It seems more like a combination of a complex algorithm that adjusts according to our patterns and our friends patterns. It's pretty obvious that facebook doesn't want us to know, because that would be like a third party seeing someone check you out and then calling them out on it in front of you.