No, you can use slices.
zpool create tank mirror c1t0d0s5 c1t1d0s5
If it gives an error, try adding a -f
That will create the mirrored pool, the word tank is just a handle, it can be anything.
By default it will be mounted as /tank. I suggest you leave that one there as harmless.
We'll mount it extra places sharing the space.
Suppose you want to move /usr/local to zfs
#create fs with temp mountpoint
zfs create tank/usr_local
# copy fs and unmount old
cp -r /usr/local /tank/usr_local
umount /usr/local
#move new fs into place
zfs set mountpoint=/usr/local tank/usr_local
You can do this for as many filesystems as you like, they will share the space.
You can set maximum fs size for a fs if your worried about one hogging all the space.