Both questions are related, so here goes.
You can't really replicate this exact config in separate datacenters IF you plan on having the same Workflow Projects published to all the servers.
The entire problem rests on the Check Timeouts and Escalations. This is the process that checks the Messages table in WF and then sends notices, escalations, or other events on a schedule.
If you have more than one server actively doing Check Timeouts and Escalations then you will get the action repeated multiple times. So if an escalation sends an email notice, and you have 3 servers Checking timeouts and escalations, you'll get 3 duplicate emails - one from each server.
You can have as many front end servers behind the VIP as you want - just make sure none of them have Check Timeouts and Escalations checked. You can only have 1 BackEnd server processing these escalations.
You can setup other FE servers in a separate DC that all use the central DB server (you'll have to use some sort of Big IP or other process to make sure people access the closest server since they should all have the same URL) but these servers cannot have a separate BE server.
One last thing, on the BE server, make sure you have a HOSTS file entry that redirects the VIP URL to the local BE server. This ensures all the time outs will run, but any link sent out will have the URL for the VIP – not of the local computer. The reason here is that Check Timeouts and Escalations invokes a web service to execute, but it can only execute a web service on the LOCAL machine. If you do not have the local hosts file set, it will try to invoke the web service on one of the FE servers and it will fail.
Rob