I think the "xD" smiley comes from manga and animes. It's often used when they're laughing and such. I, myself, use it alot, because I've got a few smileys on MSN wich looks like this one.
^
The "<3" is used as a heart because when you're like textmessaging and such, you can't do real hearts, and the "<3" is the thing wich is closest to the look of a heart.