È possibile utilizzare una dichiarazione esiste in cui la clausola come altre condizioni. Nel tuo caso sembrerebbe qualcosa di simile:
Doctrine_Core::getTable('ticket')->createQuery('t')
->select('user_agent')
->addWhere('exists(select * from log l where l.ticket_id = t.id AND l.task_id = 1')
->fetchArray();