Как сделать такую сортировку?
Для начала алфавит: let alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.split('')charcode использовать нельзя, потому что в юникоде буква "ё" идет после буквы "я". И это, похоже, навсегда.
Дальше функция, которая определяет "расстояние" между буквами.function getRange(a, b) {
  let iA = alphabet.indexOf(a), iB = alphabet.indexOf(b) // ищем на каких позициях встречаются эти буквы в алфавите
  if (iA === -1 || iB === -1) return Infinity // если вообще не встречаются - расстояние бесконечность.
  return Math.abs(iA - iB)
}


getRange('а', 'р') // -> 17
getRange('а', 'я') // -> 32
getRange('к', 'в') // -> 9
getRange('а', 'f') // -> Infinity  (и никто не мешает добавить английский алфавит)
На основе этой функции не сложно написать сортировку по расстоянию: function getClosestWord(letter) {
  return [...words].sort((word1, word2) => {
  	return getRange(word1[0], letter) - getRange(word2[0], letter)
  })
}

getClosestWord('а') // ->
["аметист", "баржа", "дом", "еж", "креветка", "каток", "кот", "лимон", "море", "морж", "нора", "рога", "рыба", "рак", "сани", "сом", "собака", "том", "танк"]

getClosestWord('п') // ->
["рыба", "рак", "рога", "нора", "собака", "сани", "сом", "танк", "море", "том", "морж", "лимон", "каток", "кот", "креветка", "еж", "дом", "баржа", "аметист"]
Дело за малым - повторять пока не закончатся слова.
не могу додуматься как сделать когда берется уже не первая буква второго слова а последующие
Отсортируйте алфавит в соответствие с условием близости букв, а затем обходите отсортированный алфавит и ищите слово, начинающееся на текущую букву.
Как отсортировать алфавит (точнее - получить отсортированную копию): получаете индекс последней буквы последнего слова, создаёте массив с последней буквой, затем делаете цикл от 1 до размера алфавита, закидываете в массив элементы исходного алфавита с индексами, равными индексу последней буквы +/- текущее значение счётчика цикла. Потом отфильтровываете из массива undefined элементы (ну или делайте соответствующую проверку ещё в цикле, тогда ничего фильтровать не надо) - алфавит готов.
UPD. Выглядеть это может как-то так.