Pues en principio no se deberia complicar mucho mas, ya que sigues necesitando el ID de la casa que ha sido reservada pero filtrandolo un poco mas....
Código SQL:
Ver originalSELECT * FROM casas WHERE casas.id NOT IN
(SELECT id_casa_reservada FROM casas_reservadas
WHERE fecha_entrada < parametro_fecha_entrada
AND fecha_salida > parametro_fecha_salida)
la verdad esque no estoy muy seguro despues de escribirlo, pruebalo aver que pasa...