Чтобы «выгрузить» часть файла, нужно сначала весь файл прочитать. Для таких задач придумали как раз БД, они специально оптимизированы для этого.
Что значит «БД грузить»? Лень настраивать?
Нет, загружать ее запросами. Так как ожидается трафик до 50 000 человек в день. 8000 имён городов доступны для поиска. Вот и представьте сколько будет запросов по onChange для слова «Москва»
Ищу более короткие пути чтобы не Фронт -> Бэк -> БД, а Фронт -> Данные