As you have certainly realized, the API currently does not return a 304 status for unchanged feeds. So this would be a feature request. You could file it on the issue tracker at the link below:
Also, regarding your caching question, the dev team did an experiment with a v2 Feeds API which supported push notifications. The v2 API utilized pubsubhubbub to allow feeds publishers to notify Google servers when there was an update available, and Google servers would then pull the updated feed and push updates to clients via a persistent connection. Unfortunately, the v2 API was experimental and ultimately discontinued. As you've noticed, the v1 API does not have the facility to check for updates except via periodically pinging the feed. This is not done every time someone requests a feed from the service in order to improve performance and reduce network traffic for both Google and the feed provider. Sadly, though, there is no documented way for those feed providers to notify the API of updates and request that the cache be refreshed. Again, this would be a feature request, though I think it's already in the issue tracker. If it is, you'll want to star the issue so that the team knows you're interested.
Jeremy R. Geerdes
Generally Cool Guy
Des Moines, IA
For more information or a project quote:
If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan Church!