Hey Taylor,
It's great to see people thinking about payment protocol extensions. I'm not totally convinced vCard support is the best idea relative to social network integration - I can't recall the last time I saw someone use a vCard. However, that should not hold you back from experimenting or prototyping. All an extension requires is some tag numbers and we're not in danger of running out of numbers any time soon.
The reason I favour social network integration is because those are the ID's people already have. Distributed social networks (like the PGP web of trust) have never really taken off, and fixing that is an entirely separate project to Bitcoin.
Doing so is quite easy. Major social networks all have a concept of a user ID, moreover, one that can be queried without any kind of API authorization for basic info. Examples:
So you could simply embed a social network URL into a payment request, and use that to associate a name/photo with a payment. That would be unauthenticated (the sender is not proving they are the real owner of the social network profile). However, authentication may not turn out to be necessary. If it were to be, then steganographically embedding a key into the profile picture and signing the payment request with it would be a way to do so.