Is this what you want?
select top 1 n.*
from notes n
where cast('2013-06-02' as date) >= strtdate and
cast('2013-06-02' as date) < enddate + 1
order by enddate - strtdate;
This does not use between
because your dates are stored as datetime
-- this always introduces the possibility of their being a time portion on the date.
If you want today's date, then use getdate()
instead of cast('2013-06-02' as date)
.