One of my servers is a backup of another. Can I specify that the two servers should be allocated on different physical hosts for better resilience?

Yes, although again this is only possible through the API at present. When you create the second server, pass in avoid:server plus a space-separated list of the UUIDs of the servers you wish to avoid. As above, you can avoid particular drives too: pass in avoid:drive with a space-separated list of the drive UUIDs to avoid.