I have contacts from my GMail, Facebook and Twitter account. In my GMail accounts, I've saved my contacts with their first names or nicknames, so I end up having to manually link most of my Facebook & Twitter contacts with my GMail contacts. If I do a factory reset I have to repeat this process all over again. Is there a way I can backup/maintain the link between my contacts so that, after a factory reset, I can simply restore the links between contacts?
Yes it should work.
If you look at your contacts in GMail you'll see an extra piece of data that stores the link information. At least mine have that for my HTC Desire.
This is what I see.
This means the sync data isn't stored on your phone at all, just as part of the contact info in Google.
Haven't tried, but this seems to be the solution:
If you use Titanium Backup, after you've re-synced your gmail/Facebook/etc. contacts, restore the "[CONTACTS/CALLS] Contacts Storage", reboot and done. This of course assumes you also back this same setting up prior to wiping/loading a new ROM