1) Si, una funcion puede acceder a variables fuera de su ambito, asi:
Código PHP:
<?php
$var1="Algo";
function funcion1()
{
global $var1;
echo $var1; //imprimirá "Algo"
}
?>
2) serializando o devolviendo un arreglo.
Las funciones pueden estar organizadas en archivos para mejorar el acceso a ellas (para que recordemos donde están y no tener que escribirla muchas veces), por tanto, para usarlas necesitaremos llamarlas a traves de un include(), creo que eso dice todo, son 2 cosas distintas.