is it possible to set up the zfs array with 7 drives.
copy data to array.
add drive to array.
extend partition.
You can't add drives to an existing vdev. Pools (or Volumes in FreeNAS parlance) consist of vdevs, which are groups of disks (one to many) with your chosen level of redundancy (striping, mirroring, RAIDZ1, RAIDZ2). A pool can consist of one to many vdevs, each vdev adding additional storage, and your data will be striped across all of your vdevs.
So there are two ways to expand pool storage in ZFS: 1) adding additional vdevs and 2) replacing drives in an existing vdev with drives of a higher capacity - once all the drives have been replaced ZFS (though not the current version in FreeNAS) will expand to use the available space.
or some addition/combination that achieves the end result of 8 drives in the array?
You could create a pool with a single RAIDZ1 vdev consisting of 4 x 2TB drives, copy your data to the pool, then add a second RAIDZ1 vdev to the same pool with the remaining 4x 2TB drives, giving you a pool consisting of two 4-drive vdevs. You would be able to suffer the loss of a single disk from either vdev, but if two disks in the same vdev failed you would lose all of your data, ie. the entire pool.
However if you want a single RAIDZ2 vdev consisting of all 8 drives (any two of which could fail without losing data), I can't think of an easy way to transfer your data without first obtaining an extra drive.
And if your data is
really important, you should always have a backup in which case you shouldn't be facing this issue. A NAS is NOT backup.