1) This can be done rather easily already. I'd imagine it'd actually be quite difficult to get a correctly working action up and running, and useable in events.
2) This would indeed be handy, it's something I've asked David for 1000 times .
3) What would this plugin do?