What's the use of an ETag for dynamic content generated outside its application?
For example I use etags within my forum project. There I create the etag on the fly based on the board_id+topic_id+page+highrestimer(of the last change in the database). This is done prior to anything else. If that plus the user_id matches against the one given with the request I can leave the app asap. If not I use the current etag to check the request against the forum's build in cache, so re-building the whole content can be avoided. Only if that fails, the base page is build, then the user specific things added.
The server on the other hand knows nothing like that. It can only check the data the application is sending. To create something like a checksum from that beats the benefits of an etag to dust. Besides, if the data is user specific or if it's created based on the query string or a post, it's not cacheable, making the whole thing more than useless. If the content is created time specific, then a normal expires will do just fine. If it's just a redirected static file, then there should be no problem either.
So basically I can't see much benefit of an etag for dynamic content without the app itself managing it.