How can I write a PHP script to zip and download an Assets subfolder?
Yes, you'd need to write a plugin to do this... or you could write a module. There are some plugins that may already do what you want tho: Squeeze / Compress