I have a common folder, which contains all the Zend Framework versions which are being used by all the different apps. Each app references these. So we have a directory structure like so:
htdocs/common/zend-1.10.1/
htdocs/common/zend-1.10.2/
htdocs/apps/app1
htdocs/apps/app2
If however we are on a production environment - for instance app1 has been deployed to it's own server, then we simply make app1 the root/htdocs folder (so upload all the stuff in the app1 folder into the server's htdocs). We then also create a common folder and upload any libraries that particular app is using.
This works as we do define(COMMON_PATH, $_SERVER['DOCUMENT_ROOT'].'/common')
as the common folder, so no extra configuration is needed for the different directory structures. We can then use this in our application.ini by zendpathorwhatever = COMMON_PATH "/zend-1.10.2
This way we only ever have one copy of each zend framework version we use, and for production we only need to upload what we need.
Each application always has it's own library folder, as this is used for per application requirements. If it turns out all applications are using a library, then we stick it in the common folder.
Overall it's easy to manage, and has turned out to be quite a elegant solution when using it with SVN Externals.