MVC-ről hallottál már?
Pár probléma a 3-as megoldással: feleslegesen terheli az adatbázis szervert, ritkán változó, csak id alapján lekérdezett adatokhoz nem kell adatbázis szerver. Odavág a cache-elésnek, igaz a db tud cachelni, de a php-nak minden esetben "új" lesz a kapott kód.
Azt még el tudom képzelni, hogy deployinghoz használod a db-t, de akkor sem a kódot tárolod a db-ben, legfeljebb az aktuális verzió számát és elérhetőségének címét. De erre vannak sokkal jobb megoldások.
Egyébként a 4-es szint az, hogy tárolt eljárás (vagy pl. oracle xsql + xslt) állítja elő az oldalt. Ennek van egy olyan előnye, hogy nem kell hozzá php. ;)