в случае сценария, подобного сегодняшнему, 10-го декабря, а у вас 15-е и 5-е декабря, для упорядочения ближайших записей по убыванию начальной даты необходимо поставить более позднюю дату в верхнюю часть списка.
Я бы также использовал встроенную функцию DATEDIFF, рассматривая даты, поскольку FLOAT - это старая техника с некоторыми недостатками, включая возможные путаницы в отношении дробей дней
select * from Table1 where id = 80
and startdate = (select top 1 startdate from Table1
where id = 80
order by
abs(DATEDIFF(day,getdate(),startdate)) ASC, --use a built in function over FLOAT
StartDate DESC) --If there are equidistant dates, this will take the higher of those dates