How can I keep different app versions on two devices synced with iTunes
Thats a tough one, the only solution I can think of is to have two separate users accounts on the machine you run iTunes on.  Each account has its own iTunes file system and this includes the cache of applications, even though both user accounts may use the same iTunes account.

It's a bit of a hack, and not very elegant but here goes...

You would make a backup of your existing iTunes directory from within your profile and place it in a readable location for the other user account.

Log into the new user account, start up iTunes so it initialises your new folder structure for iTunes under that account. Shut down iTunes and copy your existing backed up iTunes account data over the new.

Barring file permissions changes, you should now have two users accounts on your machine that you can control the upgrade path for your applications on.