Do you need 'real-time' synchronization of your data, or would some sort of batched sync work (hourly, daily, whatever)?
Will you have any files on your system that require simultaneous multi-user access (such as databases)?
Will each user have a "primary" server, or do you need roaming and fail-over to be transparent?
Using SME at multiple sites, you could setup regular rsync jobs to synchronize the data folders and use something like
imapsync to synchronize the email folders - but this is not a 'real time' solution...
Availl Technologies makes a "Wide Area File System" that provides real-time, multi-user distributed file and record locking services -- but requires Windows 2003 (if I remember correctly)... Cisco & others make hardware-based units that provide 'WAFS' - but the last time I checked the Cisco option cost about $20,000 for two offices...
WAFS doesn't solve your distributed email issue as far as I know...