Like many people, I store and use Contacts and Calendars on several devices and computers. At home, I have a personal address book and calendar, and at work I have the global company address book and my shared work calendar (on Exchange Server). Other family members also have their own address books and contact lists. And I want to prune my contacts into categories so I can sync just a subset of the list.
I want a solution that allows me to synchronize my personal contacts/calendars with my work contacts/calendars, but not vice-versa. And I want to share that personal data with my family. Here's a diagram of what I'm looking for:

The rectangles are client devices, and the circles are data sources. The dotted lines represent "read only" paths. My devices/computers are on the right, my family's on the left. For example, my PDA/Phone will need to show my family calendar and my work calendar, but my family's PDA/Phone only needs to show the family calendar.
I'm pretty sure I'm not alone with this data sync problem.
With my Treo, I can mostly make this work by manually hot-syncing in the cradle on my home machine and my work machine. I have yet to try syncing one home machine to another, though Easy2Sync looks like a fine solution if everyone is running Outlook.
But with the migration from Treo to iPhone, and some home machines from Windows to Mac, what is the best way to keep everything in sync? And can I, preferably, keep the iPhones in sync wirelessly?
Either I'm missing something obvious, or there is an interesting solution opportunity for someone.
UPDATE: This just in from Uncle Walt regarding the new iPhone: While you can have both personal and Exchange email accounts on the new iPhone, if you synchronize with Exchange calendars and contacts, your personal calendar and contacts are erased.
There's solutions galore, but most don't work.
My map is slightly different. Work Exchange, Home Mac Addressbook/iCal on several machines, iPhone, and GMail. The solution I've found is:
Plaxo to sync Gmail<->Exchange<->Mac
.Mac to keep all the other Macs in sync
iTunes to keep iPhone in sync with main Mac
Problems - Syncing is slow. It can often take a day or two before appointments get from one end to the other.
Congrats on drinking the kool-aid.