mm Existen o está de moda últimamente las implementaciones del patrón MVC .. así que tienes muchas opciones .. unas más completas y otras no tanto.
En general separar el la vista del modelo .. con un motor de gestión de plantillas te serviría en su base.
Algunos ejemplos:
Smarty (
http://smarty.php.net)
NokTemplate (
http://www.jpw.com.ar/noktpl.php)
y muchos más que encontraras si bucas por sistemas de gestión de "templates" en google.
Cita: Y una duda que seguro que es una tonteria pero ahora no puedo probarla. Si hago un include, desde el código de ese archivo puedo acceder a las variables del script desde el que es incluido?
Hazte la idea que la función include() .. (o equivalentes) lo que hacen es "cortar y pegar" el código que en el "include" se llama en el punto de usastes tu función y hasta donde su código llegue sobre el script que lo llamó. Una vez todo "mezclado" .. PHP lo ejecuta como una instancia (el script entero resultante). Por ende .. los flujos del código son los mismos que si tu tubieras el código que llamas en tu include en un mismo script puesto.
Por ende tu teoría sería correcta (siempre y cuando esas variables que mencionas se generen -antes- de tu include())
Un saludo,