sì, manca solo l'onchange

codice:
function addField(div) {
  var field = document.createElement("input");
  field.type="file";
  field.name="upfile[]";
  field.onchange = function () {
    addField(div);
  };
  document.getElementById(div).appendChild(field);
  field = document.createElement("br");
  document.getElementById(div).appendChild(field);
}
e gli input andranno in
codice:
<div id="tuodiv">
  <input type="file" name="upfile[]" onchange="addField(this.parentNode.id);" />

</div>