I've been playing with entirely dynamically generated sites using a "clean URLs" approach - http://af.brothercake.com/dropdown/
- other than the demo pages, the main site is just one page, with all the data passed in query strings - like "c" for the URI of a content file, and "s" for subcontent - but over the top of the that I'm using mod_rewrite so that the URLs in the status bar make it appear to be a static site - which is better for google, and easier for people to remember the URLs.
The data source itself is include files - the main HTML content is merged into a template. The beauty of this approach is that I can change that in the future without the front-end appearing to change at all - call my data from a DB, or from XML.
There is a performance hit there by the amount of pre-processing I'm doing, and other lesser disadvantages, but I don't mind that for how much easier it is to maintain.