Ванильный PHP и хороший JavaScript-фреймворк - все, что вам нужно.
Вам потребуется создать скрипт php для генерации отфильтрованных списков районов и станций на основе предоставленного родительского фильтра (выталкивая данные в формате xml или json). PHP должен будет проанализировать данные xml и отфильтровать список на основе критериев (очевидно, БД справится с этим лучше, чем ручной анализ xml)
Затем используйте инфраструктуру js для запроса файлов php каждый раз, когда изменяется значение родительского списка. Js-фреймворк не требуется (и на самом деле вызывает некоторое раздувание), однако это сделает разработку приложения легкой задачей.
Лично я бы порекомендовал jQuery из-за простой кривой обучения, но любая популярная среда js даст тот же результат.