(from q in table
orderby Math.Abs(18 - q.Number)
select q).FirstOrDefault()
и
SELECT TOP 1
*
FROM
table
ORDER BY
ABS(10 - Number)
и для даты
var nearTo = new DateTime(1999, 12, 31);
(from q in table
orderby Math.Abs((nearTo - q.Date).TotalSeconds)
select q).FirstOrDefault()