I have done this many times, it is only as complex as you make it.
What you need to do is simply have an 'in form storage'. This can be done with whatever fields you like.
For an in form storage just create the 'storage' fields you need and make them hidden. You can have one storage field per item or there are more advanced ways of doing things.
Many times i want to be able to choose 1 item from many items to add to 1 field. You can do this too.
One thing to remember is that if you 'save' a textfield to a hidden storage text field, you would effectively copy the rawvalue to another field, you arent actually saving the pdf file.
For example, all these fields are hidden storage fields in my form. You can 'save' to the next blank field by using simple if statements to check if a field is null or not. You can have multiple fields like this appear in a combo or list box for user selection when loading back an item.