лучше всего сделать выборку по классу
или найти контейнер всех форм(formcontainer) и искать в нём по тегу <P> как в вашем случае.
пример ниже берёт данные из всех форм, поиск по классу.
дальше задачу я не понял.
поэтому просто собрал данные в массив, и вывел его
но вы вместо заполнения массива можете в этом цикле делать именно то что вам надо.
upd/
если я правильно сейчас догонять начал, то храните связь инпута и options в атрибутах. Это может быть id inputa в атрибуте option как пример, или атрибут в input с порядковым номером option, и 100500 других вариантов в придачу.
Если бы вы задачу точнее уточнили, то я бы точнее посоветовал.
<div id="formcontainer">
<p class="superform">
<input id="2" type="text" name="label[]" value="текст из инпута 2" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
<option disabled>выбор из уже описанных инпутов</option>
<option value="1">текст из инпута 1</option>
<option value="3">текст из инпута 3</option>
</select>
</p>
<p class="superform">
<input id="3" type="text" name="label[]" value="текст из инпута 3" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
<option disabled>выбор из уже описанных инпутов</option>
<option value="1">текст из инпута 1</option>
<option value="2">текст из инпута 2</option>
</select>
</p>
<!-- и так далее до бесконечности -->
</div>
<script>
var forms=document.getElementsByClassName('superform') ;
var data=[];
for (var i=0,length=forms.length;i<length;i++){
data.push (
forms[i].getElementsByTagName("input")[0].value
);
}
alert (data);
</script>