Hola:
Se me ocurre que también pases el valor numérico que quires que se repita la inserción (que podría tratarse del value del select) y hacer un bucle...
<select onchange="agregar(this)">
function agregar(fil) {
n = fil.value;
obj=fil.form;
//num++;
for (var i = 0; i < n; i++) {
elem=document.createElement('input');
elem.type='text';
num++;
elem.name='opcion' + num;
elem.value=fil.value;
obj.appendChild(elem);
}
}