Използвам NestedSet за съхраняване на ACL йерархията и кеша, за да ускоря нещата.
Doctrine ORM за PHP - NestedSet
Ето публикация, която също може да бъде полезна:
Zend_Acl част 3:създаване и съхраняване на динамични ACL | CodeUtopia – Блогът на Яни Хартикайнен
(разгледайте и предните две части).