es que eso esta completamente mal...
no se puede poner un
include de ese modo, solo se puede hacer a nivel de ejecución del script...
una técnica sería capturar el resultado en un buffer...
Código PHP:
ob_start();
include 'archivo.php';
$foo = ob_get_contents();
ob_end_clean();
define('BAR', "Texto y HTML con {$foo} PHP");
otra sería leer solo el archivo, y después evaluar el PHP contenido en el..
Código PHP:
$foo = file_get_contents('archivo.php');
define('BAR', 'Texto y HTML con ' . $foo . ' PHP');
echo eval('?>' . BAR);