This is entirely possible, there are a few caveats however.
The easiest way to go about this is a a load balancer, then use a separate mailstore (NAS/SAN/whatever floats your boat) and a MySQL (or any other) backend, redundant if you wish. The Public IP for your mailserver is assigned to the load balancer. The mail itself is stored outside the single mail server, that way, any single machine being unavailable doesn't mean people cannot access their mail. A separate DB means the user data is shared, so any server can verify any user.
That's a pretty basic outline.
The caveats are that each server will have its own queue (for incoming and outgoing mail), these CANNOT be shared between servers, so some work may have to be done if any single machine has a fault (this could be somewhat mitigated if you used some sort of external storage like NFS, but what you gain in fault tolerance you lose in speed)
Another caveat is that there will be some duplication of requests, you need to make sure that your LDA is aware of clustering (Dovecot is getting quite good), as building/rebuilding large indexes can be a heavy load if you don't take full advantage of caching.
Read up on it, you're far from the first person to be interested in this sort of idea.