I think this has been discussed a variety of times in the forums and the answer has usually been to handle this outside the FreeNAS system. I can agree on some seemingly abusive use-cases to this feature but think there are valid use-cases that should be supported.
The need for something like this, in my case at least, stems from a very similar situation as why VMWare-Snapshots exist - I need to quiesce some services prior to the snapshot. Instead of asking for a feature request for every situation I need this for, I figured it'd be easy enough to generalize with a pre/post script feature request and more/less expose the existing process the VMWare-Snapshot tasks use.
The intention is not to rsync massive amounts of data prior to a snapshot or anything like that but to run a quick (feel free to put an enforced time limit of 1 minute on the task) script prior to taking the snapshot.
My specific use-case is to initialize VSS on target Windows hosts utilizing FreeNAS as a iSCSI target such that the volumes are flushed and consistent prior to a snapshot. I'm sure others may have different use-cases that wouldn't abuse the feature.
Hopefully this would leverage existing code already found in VMWare-Tasks and wouldn't be hard to add support for. If maintainers are open to allowing this feature, I'd be happy to help try and create a PR to add it (not gauranteeing success though).