С точки зрения памяти не даёт, потому что в РНР и так очень оптимальное управление памятью.
В частности, при присвоении значений переменным применяется принцип copy-on-write. Объекты же и так всегда копируются по ссылке.
С точки зрения "вычислять адрес промежуточного объекта" - я никогда не слышал о таких проблемах. Судя по всему, это явно не является узким местом для динамически интерпретируемого языка.
В любом случае, учитывая copy-on-write, исходно это снова будет опять ссылка.
В общем, я настоятельно рекомендую последовать совету мудрого старика Дональда Кнута, и
не бежать впереди паровоза, заранее пытаясь оптимизировать то, что вообще никогда не тормозит.
Данный случай является просто идеальной иллюстрацией именно такого случая, когда проблемы от непредсказуемого поведения кода из-за пихания ссылок везде и всюду стократно превысят любые воображаемые плюсы.