With a 500GB SSD and a 250GB SSD is it possible to mirror a 250GB partition on the 500GB with the 250GB SSD using ZFS?

First things first: this is not a good idea. You should really use same-capacity disks, if possible.

That said, what you ask is indeed possible: you need to partition both disks each with a ~250 GB partition, and setup ZFS to use these two partitions as block devices for the mirrored vdev.

For example:

  • disk #1 will have a single, 250 GB partition;
  • disk #2 will have two 250 GB partitions;
  • a zpool is created using the first partition on each drive (ie: zpool create tank mirror /dev/sda1 /dev/sdb1);
  • the second 250 GB partition on disk #2 is available for other uses: you can create another zpool (ie: zpool create scratch /dev/sdb2), or even use it for with another filesystem (ie: mkfs.xfs /dev/sdb2). But remember that this will not be mirrored in any way.