yo que vos cuando hago una reservacion....
tendria una tabla Reservaciones
id_habitacion INT (11)
fecha_incio INT (11)
fecha_fin INT (11)
las fechas las manejas en Timestamp, el tipo devuelto por la funcion
time()
entonces si queres buscar habitacion disponibles para el dia X
tendrias que buscar las habitaciones que no posean registros en la tabla reservas para fechas_inicio < X < fecha_fin
ahora no se me ocurre bien el sql, pero lo que vos decis me suena a demasiada informacion inecesaria...