Как найти строку, длинна которой максимально близка нужной?
SELECT word
FROM (
  SELECT word, (ABS(elngth)-5) AS lengthDiff
  FROM word
)
ORDER BY lengthDiff ASC
LIMIT 1
как-то так же.
Гм... 
abs(length-5) - величина отклонения от искомого
соответственно нам надо найти позицию с самым маленьким отклонением
вот и сортируем позиции по возрастанию отклонения
и берем первуюselect top 1 
id, word, length 
from words 
order by abs(length - 5) asceding
написал top 1 в более привычном mssql в MySQL - видимо limit