К (счастью) сожалению, полностью отказался от Битрикса и уже не помню деталей решения этой проблемы. Но в общем, это было так - написал обработчик для расчета доставки, используя сервис postcalc.ru, выставил местоположение по-умолчанию (любое) и скрыл его вывод в html (это для того, что битрикс проглотил его и пропустил на шаг расчета доставки), а обработчик расчета доставки выкладывал уже результаты, расчитывая их из данных о городе и индексе (кажется, передавал их в сессии). Вроде было как-то так...