Have it generated at same time as cache refresh. Hints on how to do are here...
http://blog.calebnance.com/php/creating-a-csv-file-in-php.html
Add admin screen where last update timestamp can be viewed, link to download and option to refresh. Also add default cache option to screen.
New admin screen should be under Plugins menu.