there's a limit (95?) to the number of in-game friends that will display. However, I'm pretty sure friends that would "fall-off" the list are visible if they are on-line, assuming less then the "95" limit are all on-line.
Yes, when the user is online, he is there on top.
Ok, this is a bit limiting, but can be managed. However I will remove all those I met only once so if it is your case, let me know. I don't remember names much.