include() fügt den Code da ein, wo du den Funktionsaufruf hast. Also wird dir include() nicht viel bringen.

Mit eval() könntest du allerdings die include()-Funktionalität emulieren: Du lädst in deiner Funktion die Dateien in ein Array, das du zurückgibst (dabei lädst du jede Funktion in eine Arrayzelle).
Auf globaler Ebene wertest du den Code dann per eval() und Arayzugriff aus: Aus neue_funktion() wird dann eval(funktionen["neue_funktion"]). Das ist zwar frickelig, sollte aber irgendwie funktionieren.