Hola
Krunoslav ![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
Si decís que sí o sí cargas todo s los datos en cada página, entonces volver a cargarlos en las funciones puede ser incluso peor para el servidor porque asumo que los datos que carga los obtiene de la base de datos, ¿verdad?
O sea, pasar varios arrays por referencia es sencillamente más ligero que cargarlos de nuevo leyendo desde la base de datos.
O sea, en mi opinión si tenés que elegir una de las dos, elegiría siempre que la función tenga entre sus parámetros los datos ya cargados por la página.
Desde luego, si se trata de ser eficientes, supongo que querrás o estarás usando clases y objetos, o sino arrays multidimensionales para contener esos datos.
Al final, todo depende de tu manera de trabajar, de las necesidades y propósitos que surjan de tu script y del tiempo y habilidad que dispongas.
Espero te haya ayudado en algo.