how to keep two iMac's in different locations completely synchronized
You could probably configure something with DropBox.

Create symbolic links for preference files for your programs, and save all of your documents to the DropBox folder for syncing.

The downside to this is that if you have more than 2GB of data, it will cost money.