I can only answer to two of these.
ORM:
While I don't personally use one, if I did use one, Doctrine would be
the one I would use. Mainly because I know the lead developer and a
couple of the other developers. They are good people and seem to be
headed in the right direction. The lead developer, Jonathan Wage, has
been tweeting about implementing MongoDB support in Doctrine. That
would rock.
PHP
No, it's not ugly at all. Personally I find it elegant because it
doesn't force me into any paradigms. I can do procedural or OO, I can
use a framework or not. It just really depends on what I am trying to
do.
My $.02,
=C=
My understanding is that Zend_Db_Table is an implementation of the Table
Data Gateway pattern:
http://martinfowler.com/eaaCatalog/tableDataGateway.html
The approach I prefer is the Active Record pattern, kind of like Ruby's
ActiveRecord or Java's Hibernate (which is far superior):
http://martinfowler.com/eaaCatalog/activeRecord.html
And Smarty doesn't appear to support layouts. I had to {include} the header
and footer on each page which is pure silliness.