Se entiende, pero estás aplicando lógica de programador y no de DBA, por eso se te complica.

El tema es que no te debe importar si en ciertas condiciones la opción es no mostrar. Lo que debe importarte es cuál es la condición que debe cumplir el vehículo que debe ser mostrado, ya que el resto de las alternativas son irrelevantes, y esta es una sola: Las fechas de la reserva no pueden cruzarse ni superponerse:
Eso te devolverá un listado de vehiculos que no tienen reservas para el período indicado.