1) How do you mean "identical"? Is there any tolerance for difference? I.e. can they sync every 5 minutes, or do they need to be constantly identical?
If every 5 minutes is OK, go with rsync. If you need them to be *always* exactly the same, then your best bet would probably be looking into storing the mail data on a set of other servers, and find some way (I don't know how, but I know it can be done) of setting up the two file servers so they "look" like one from the network and are mirrored.
2) In terms of doing an IP switch, if you have DNS running, just set one as the MX0 and the other as MX1. The clients will automatically failover to MX1 if MX0 can't be reached.