Si, me refiero a la opción 0, pero con un matiz.
Si tenemos la función:  
Código:
 function prueba(&$arr,$valor,&$var)
{
    //...................................
    //realiza las instrucciones de busqueda
    //cuando lo encuentra quiero que guarde la referencia en $var
    //ejemplo
    $var=&$arr[2][3][1];
}
  la función busca $valor en $arr y lo encuentra en $arr[2][3][1], lo que quiero es que $var devuelva la posicion en la que se encontró $valor (es decir $arr[2][3][1]), pero no quiero que me devuelva por ejemplo un array con los valores [2,3,1] que indiquen que en el primer array se encuentra en la posicion 2, en el segundo en la 3, y en el tercero en la 1, sino una referencia $arr[2][3][1].
Para que cuando llame a la función obtenga esa referencia y pueda modificar el valor buscado en $arr simplemente de la siguinte forma:  
por lo tanto $var que es una referencia a $arr[2][3][1] al darle el valor 10 se cambie en $arr[2][3][1] el valor y valga 10