Quita los paréntesis que están después del NOT IN y los del final y te funcionará.
Código SQL
[-]
SELECT DISTINCT N_HAB FROM HABITACIONES WHERE N_HAB NOT IN SELECT NHABITACION FROM RESERVAS WHERE FECHA BETWEEN :FI AND :FF) UNION (SELECT NHABITACION FROM ESTADIAS WHERE FECHA BETWEEN :FI AND :FF