I had a weird thought a couple hours ago. Suppose you set up two Macs with ab2vcard, both syncing to the same Subversion repository, and then added a bit of extra magic to handle conflicts and deletes. Then hand conflicts and remote updates off to Address Book and let it handle it on its own (that was one of the improvements in Panther–the Address Book has a merge dialog).
Wham, instant version-controlled shared address book. Have a nice day.
Of course there are a few little details that need to be handled. Most of them involve tracking deletions and doing the Right Thing. ab2vcard’s current deletion tracking is hokey, but it works when it owns the vCard repository. In a shared environment, you need better logic. It’s not rocket science, though.