From the docs & these posts, it's clear that iCloud resets can change the ABRecordId for a given contact (which seems to be lazy coding on Apple's part, but I digress), but I haven't found clear documentation on how Id's work across devices.
ABRecordId posts on how the Id's can change:
Keeping a long-term reference to an IOS AddressBook entry
Is ABRecordID a reliable way to identify unique contacts?
Assuming a user doesn't have iCloud enabled or never resets contacts, does their iPhone have the same ABRecordId for the same John Doe that is on their iPad & iPod Touch?
I don't have a second device right now or I'd test myself. Also, it doesn't seem iCloud is working on my single iPhone 5, so even with a second device I'd be out of luck.
Perhaps the deeper questions are:
1) If iCloud contact sync is enabled on all devices, do they share the same Id for a given record?
2) If iCloud is not enabled on a device, and contacts are synced via iTunes, do they have the same Id as on the other devices synced via iTunes?
3) If I add a contact on device 1, add a contact on device 2 that is different, and then iCloud syncs later, would that rewrite the Id for the newly created contact on one device, or delete & recreate both contacts on both devices or something like that?
4) If someone didn't have iCloud enabled on either device and created a bunch of different contacts on each, how does iCloud handle the Id's when enabled? Are all contacts deleted, merged, & recreated? No merge?
If the Id's are consistent across devices excluding the iCloud changing it, then that leads me to believe that I can rely on the Id regardless of whether someone got married, changed their name, changed their phone, etc, as long as I'm able to determine ahead of time if there was a large scale did an iCloud reset.
My assumption is that an iCloud reset would also "sync" to other devices, leaving them with the same new Id's. If that's not the case, then my multi-device support plan doesn't work and I'll need to do the much more complicated checks for permutations of id, first name, last name, phone numbers, emails, etc.
Final assumption that this plan relies upon is that an iCloud reset can be detected, such as a large % of contacts with the same name as before, but new Id's.