I created a generic annotation family with several contact information parameters. The area on the right is for company logo's.
For each contact, a new type was created. Don't forget to add a type for your client/owner. To sort them, I prefixed the company name with their discipline:
To get the logo's to automatically switch, I created a separate generic annotation family for each logo and assigned a visibility parameter for each in the contact family. Within the contact family types, all it took was to check the matching visibility parameter.
I placed several instances on our cover sheet, and set up our most frequently used consultants as the default contacts. Using a different consultant is as simple as selecting a different family type.
If it wasn't for the logo's which have to be placed manually, this could all be set up using family type catalogs and a contact database. This would make the family smaller, but we like the logo's so for now we'll keep them.