Как уникализировать массив ссылок на объекты по самим ссылкам, а не по значению объектов?
spl_object_hash не подойдет?

Будет что-то вроде:
$id = spl_object_hash($a);
$array[$id] = $a;
Писать свою версию array_unique, ибо сравнение внутри библиотечной идёт по строковым значениям — (string)s1 == (string)s2.