Как вариант
1) города однозначно сохранить себе в базу
2) чтобы не выгружать на клиента
2.1) сделать текстовое поле и при посте на сервере искать в базе городов типа (SELECT ID FROM City WHERE Name = @UserCityName)
2.2) сделать на jQuery подгрузку городов, распространенный контрол ... начните вводить первые буквы города... если букв от 2 - то отдавайте на клиента TOP 10 городов. В бутстрапе вроде есть похожий контрол - typeahead bootstrap. Наверняка в плугинах jQuery есть подобное.
---
+ можно сделать сначала выбор региона, их по ОКАТО, вернее сейчас это называется ОКТМО - их около сотни. Потом город. Городов в России около 1100-1200. С крупными селами ... не знаю.