Well, maybe it's not the answer I was looking for (it's only valid for ZFS while I was looking for something more general) but here it is:
(817-2271, p. 45) Disks are identified both by their path and by their device ID, if available. This method allows devices to be reconfigured on a system without having to update any ZFS state. If a disk is switched between controller 1 and controller 2, ZFS uses the device ID to detect that the disk has moved and should now be accessed using controller 2. The device ID is unique to the drive's firmware. While unlikely, some firmware updates have been known to change device IDs. If this situation happens, ZFS can still access the device by path and update the stored device ID
automatically. If you inadvertently change both the path and the ID of the device, then export and re-import the pool in order to use it.
So I would think that, even if I created a pool on c5t0d0, if controller changes (because I change the USB port I'm plugging the device into), then ZFS will be able to correctly identify the device.