1. Yes, if you have a pretty clear convention about how your pages / content is laid out, you could pregenerate the site map. You could do it automatically on scheduled basis - there isn't an easy way to update a sitemap based on ANY changes in a web project. If you are deploying to an FSR, then a post-deployment callback would be a good way / time to create the sitemap.
2. You can schedule an item to be no longer available after some time. To delete item automatically, you'd have to add metadata item to denote deletion, and have a scheduled job that does the cleaning. There are already a few jobs that do that for some other types of content.