Si te entiendo bien, lo que quieres hacer es tener un lugar comun de donde hacer referencia de una clase ya instanciada para no tener que volver a crearla. Si es asi, puedes usar el patron singleton que se asegura de devolverte una istancia nueva solo si no hay ya una existente.
Ahora que si tu problema es tener una relacion de todas las istancias de clase que hay durante la ejecucion de tu script posiblemente almacenar la referencia del objeto en un arreglo sea la solucion o implementar la interface Iterator de php5 o crear una para php4.
Para el primer caso una implementacion del Singleton en php5 podria ser la siguiente;
Código PHP:
class Ejemplo{
static private $instancia = null;
public $atributo;
private function __construct($var){
$this->atributo = $var;
}
public static function instSingleton($var){
if( self::$instancia == null ){
self::$instancia = new Ejemplo($var);
}else{
return self::$instancia;
}
}
public function obtAtributo(){
return $this->atributo;
}
}
$x = Ejemplo::instSingleton('unica instancia');
echo $x->obtAtributo();
$y = Ejemplo::instSingleton('devuelve la misma instancia');
echo $x->obtAtributo();
Para el segundo caso puedes usar el iterador para alamcenar las instancias y pasarlo como parametro a los objetos que lo necesiten.
Si esto no es lo que estabas preguntando pues una disculapa por el choro mareador que escribi jejeje.