Ah okay. I took me a bit to fully realize what situation you are in.
Let me summarize to make sure we are on the same page.
The VM will not boot because at some point it will stop with an IO error?
Unfortunately you cannot reduze the size of the disk on the zpool from outside. The problem with almost no available space with ZFS is, that it is a copy on write file system. Each new change is written to a new block. Old blocks are only overwritten if they are not in use anymore. That is why the rule of thumb is to not fill it up more than 80%.
Is that VM disk the only location where you have those files?
If no then destroy it and recreate it with a smaller size or use something other than ZFS underneath it.
If yes then you could try
- to boot the VM from a rescue ISO and shrink the partition in that disk
- enable Discard and SSD Emulation for that VM disk and make sure Trim is enabled in Windows (might release some space on ZFS if the disk is not filled completely with files)
- boot the VM from a rescue ISO and copy the data somewhere else in order to then destroy and recreate the disk smaller.