Quando hai progetti così grandi usare i namespace e l'autoloading ti semplifica molto il problema degli include e delle dipendenze.
Non so se lo stai già facendo ma inizia a programmare ad oggetti, da quello che scrivi sembra che tu sia piuttosto orientato al procedurale.