По поводу запросов к базе:
Для нормальной базы (например Оракл) 30 селектов - это сущий пустяк. Даже в mysql появился кэш (он тупой, но не в этом дело, главное, что работает правильно, хотя и не оптимально далеко). Так что 30 или 40 - не суть. Файлы тоже требуют времени для чтения (один хрен на винте все лежит, как ни крути). При сложных структурах шаблонов (составные, например) база удобнее в плане чисто выборки данных (ИМХО). Для того они (базы) и сделаны собственно, другое дело, что можно написать кэш, и тогда 30 запросос будут заменены 5-ю (к примеру).