En principio es muy fácil. Ten en cuenta que las fechas en base de datos están en formato MySql, y que si el usuario las mete en otro idioma, las tendrás que formatear al formato MySql.
Para hacer la búsqueda, es muy fácil, quedaría mas o menos así:
<span class="codigo"> SELECT * FROM
MI_TABLA
WHERE FECHA >= FECHA_INICIO_INTRODUCIDA
AND FECHA <= FECHA_FIN_INTRODUCIDA
ORDER BY NOMBRE_DE_CAMPO_DE_BD_POR_EL_QUE_QUIERES_ORDENAR
</span> Al decirle fecha >= le estas diciendo que sea mayor o igual
Y al decirle <= que sea menor o igual.
Comentario de Sara
Para transformar las fechas, como te indica Fernando, hay una par de funciones en Convertir fechas entre MySQL y castellano, en PHP