I understand not wanting to be confrontation. And in this case, it sounds like you may even be a bit intimidated (No disrespect).
Passive aggressiveness does work in some instances.
If you really don't want him staying over anymore, and you don't want to just come out and tell him, find other ways to get the point across. Start making jokes about it, make it seem like you are just kidding a bit but be straight enough to get the message in his head that he's a nuisance. Something like "Shut up John, your the "guy on the couch" in this apartment!" or "Damn man, are you fucking homeless?" Try to get your friends to join in and try to get some laughs out of it, he may laugh with you but inside he'll begin to understand the "message". Honestly, sometimes people just don't "get" what sticks out about them.
For instance, when he was like "what are you, possessive over your xbox?" You said that you just walked away? I would have been like "Nope, possessive over my light bill, you trying to let me borrow some electric money?"
Of course, it could backfire miserably, and he may just sort of embrace being the "loser of the group", and might take the "good fun" part of the jabs as acceptance.
Edit : Far as the party thing goes, if it was truly a small get together, that's a time when maybe you should have stood up and just flat out told him. Kicking/blocking someone from your home is one thing, I can understand wanting to tread more lightly, but unless he's a sociopath he should understand why people don't want him to crash a small party. If it's like a huge house party or something....I think you're overreacting.