У вас может быть модель города с функцией поиска, которая принимает название города в качестве параметра и возвращает все соответствующие данные. Затем у вас будет контроллер, который также принимает город в качестве параметра. Так, например, http://localhost/index.php/city/lookup/new_york, где city - контроллер, lookup - функция, а new_york - параметр функции.
Функция поиска в контроллере передает полученный параметр в функцию поиска модели города. Что бы ни возвращала модель, контроллер перейдет к отображаемому представлению.
Вы, вероятно, должны не иметь отдельный контроллер и модель для каждого города.