Con le modifiche alla tabella ed avendo quindi due campi data puoi fare così:

Codice PHP:
SELECT FROM offerte p JOIN hotel  cp ON p.idhotel cp.idhotel WHERE p.idhotel ' . $row['idhotel'] . '  AND p.dal <= NOW() AND p.al >= NOW() LIMIT 1 
Che in poche parole ti seleziona l'offerta la cui data di inizio è minore o uguale alla data di richiesta e la data di fine è maggiore o uguale alla data di richiesta.

Considera che se non ci sono offerte valide la query non restituisce risultati quindi dovresti gestire anche questa eventualità.

Ciao