Если структура кода кнопок и поля ими обслуживающего такова:
<div class="korpus">
<label><input name="city_id" type="radio" value="6600001500000"> Новоуральск</label>
<label><input name="city_id" type="radio" value="6600002300000"> Н. Тагил</label>
<label><input name="city_id" type="radio" value="6600000100000"> Екатеринбург</label>
</div>
<div class="box">
<input type="text" name="city[]" placeholder="Город">
</div>
то код обработчика (собственно как и все обработчики иные) лучше сделать через делегирование. В примере для этих кнопок делегируется BODY, но если все динамически вставляемые элементы имеют общего ближайшего родителя присутствующего в документе, например форма, то лучше ему:
$('body').on('change', 'div.korpus input', function() {
$(this).closest('.korpus').next().find('input').val(this.value)
});
В этом случае добавляемые динамически элементы будут обрабатываться. Единственно что не понятно вот с этим:
<script>$('[name="city2"]').kladr({type: $.kladr.type.city});</script>
Это также вставляется в документ динамически? А нужно после добавления div.box найти в нем input и подключить kladr:
(вставляемый код).appendTo(selector).find('input').kladr({type: $.kladr.type.city});
Я удалил id у меток, кнопок и поля, вполне можно обойтись и без них. У добавляемых радио кнопок (группы из трех) имена должны отличать от имен других групп.
Поле ввода именовано так как я писал ранее. Как могут у сервера не закипеть мозги, если ему прислать ключи city1, city2, city3, ... cityN? Это же просто очень не удобно для обработки.