если я правильно всё понял, то в твоём примере из сложностей только обработчик города который формирует сложный SQL запрос.
с профессией всё проще, ведь профессия к региону непривязана достаточно просто достать инфу из бд по LIKE
значит на клиенте нам понадобится как минимум.
$( "#profession" ).autocomplete({
source: "searchprof.php",
minLength: 2,
select: function( event, ui ) {
//какоето действие
}
});
и в searchprof запрос вида (как конкретно это от таблицы зависит)
$sql="SELECT * FROM cms_proffesion WHERE name LIKE '{$prof}%' ORDER BY name ASC";
ничего сложного, ты ценник назови мож кто сделает
тут больше PHP чем javascript'а