There are loads of ways a system might uniquely identify a disk or partition, GUID/UUID, how it's connected 'usb-...', and the traditional directory structure '/dev/sda'. zpool seems to choose randomly between them. How can I get a zpool status to list the array using the directory structure as it is the only thing other tools know about?
The history reveals how the pool was created:
zpool history XX
History for 'XX':
YYYY-MM-DD.HH:MM:SS zpool create -f XX -m /XX raidz sda sdb sdc sdd sde
However status now reads:
zpool status XX
STATE READ WRITE CKSUM
XX 0 0 0
raidz1-0 0 0 0
ata-WDC_WD10EFRX-68PJCN0_WD-XXXXXXXXXXXX ONLINE 0 0 0
The names used on build are not the same as those now listed. The array has been moved around a lot once it was created however.
Update and conclusion:
It looks like most utilities can use the long name ZFS uses in place of the short, via
smartctl --all /dev/disk/by-id/ata-WDC_...
While more cumbersome, I agree it is more precise.