...performance-wise, that is.

<body>\n<script type='text/javascript'>\n<!--\n\n    var descArray = new Array();\n    var index = 0;\n    \n    function box(value) {\n        var newNode = document.createElement("input");\n        newNode.name = "Description" + index;\n        newNode.id = newNode.name;\n        newNode.value = value;\n        document.form1.appendChild(newNode);\n        descArray.push(newNode);\n        index += 1;\n\n    // This portion would be generated by your CGI script:\n    box("abc");\n    box("def");\n    box("ghi");\n    box("jkl");\n    box("mno");\n\n// -->\n</script>


...something like that anyway. Extremely untested.