Не проверено, но что-то вроде этого должно сработать:
$q = Doctrine_Query::create()
->select('o.*')
->from('offre_habitation o')
->where('o.id_type_offre = ?', 2)
->andWhere('o.id_nature_offre = ?', 1)
->andWhereIn('o.nb_pieces', array(1, 2, 3, 4))
->andWhereIn('o.id_secteur', array(1, 2, 3))
->andWhere('o.surface_habitable > ?', 90)
->andWhere('o.prix > ?', 700);
// Test:
echo $q->getSqlQuery();
... это использует тот факт, что, например:
AND (`id_secteur`=1 OR `id_secteur` = 2 or id_secteur = 3)
...такое же как:
AND `id_secteur` IN (1, 2, 3)