yes it is possible! from you description as a workaround you would need to create custom code within an event reciver!
but!!!! you can do somthing better, a lookup colunm that will look like this:

I think this is more than what your looking for! less coding and only need to create a column extra that holds the IDs that are related to other list/library!
in your case the top list would contain an item, the bottom list would contain all the attachments with corresponding ID's to the first list! so in the first list the IDs are unique and the second list the IDs are many, this makes a 1 to many relationship, where one list item can have many attachments ;)
http://office.microsoft.com/en-us/sharepoint-help/create-list-relationships-by-using-unique-and-lookup-columns-HA102771358.aspx
from the link above:
How to: Create or modify a unique column
Warning You cannot create a unique column in a list with
item-level permissions defined, you cannot break inheritance of
permissions from a list to a list item if the list contains a unique
column, you cannot create a unique column or modify a column to be
unique in a list that contains items with unique permissions or one
that has content approval enabled, and you cannot copy a file to a
library by using the Open with Explorer command, if that library
contains a unique column.
1.Navigate to the site containing the list.
2.Click the name of the list on the Quick Launch, or on the Settings menu , click View All Site Content, and then under the list section,
click the name of the list.
3.Click List > Create Column.
4.In the Columns Name box, type a name for the column.
5.Under The type of information in this column is, click one of the following: Single line of text Multiple lines of text Choice Number
Currency Date and Time Yes/No Lookup (single value) Person or Group
(single value)
6.In the Additional Column Settings section, under Enforce unique values click Yes. If you select a data type that is not supported, or
of you are creating a lookup column that allows multiple values, the
Enforce unique values is not displayed.
Notes You cannot remove the index of a unique column. If you want to
remove the index, you must change the column from a unique column to
one that allows duplicate values first, and then remove the index.
If you try to change an existing column from duplicate values to
unique values, you may be prevented from doing this operation if the
existing column contains duplicate values. In this case, you must
remove all the duplicate values first, and then change the column from
allowing duplicate values to a unique column.
If you want to change the data type of the unique column, you must do
the following: change the column to allow duplicate values, remove the
index, change the column to the other supported data type, and then
make the column unique.
How to: Create a lookup column
1.Navigate to the site containing the list.
2.Click the name of the list on the Quick Launch, or on the Settings menu , click View All Site Content, and then under the list section,
click the name of the list.
3.Click List > Create Column.
4.In the Columns Name box, type a name for the column.
5.Under The type of information in this column is, click Lookup.
6.In the Get information from box, select a target list.
7.In the In this column box, select a primary column.
8.Under Add a column to show each of these additional fields, for each secondary column you want to add, click the check box next to the
column name. Only columns with supported data types are listed.
9.Later on if you want to add or remove secondary columns, modify the lookup column and make the selections you want.
Note You cannot index a secondary column nor can you make a
secondary column unique.
10.If you want the lookup columns to display in the default view, select Add to default view.
11.To create an enforced relationship, select Enforce relationship behavior and then click Restrict Delete or Cascade Delete.
12.Click OK.
How to: Create relationships in the display and edit forms
Once you create a lookup column, you can modify the display and edit
forms of the target list so that related data from the source list is
displayed. For example, you can edit the display or edit page for the
Orders list to add the related Items list and automatically connect
the two corresponding List View Web Parts together by the passing the
Lookup column value.
1.In the target list (for example, Orders) click List > Modify Form Web Parts > Default Display Form or Default Edit Form.
2.In the Main Web Part Zone, click Add Web Part.
3.Click Insert > Related List, and then select the related list (for example, Items). Note Only lists for which you have View Items
permission are displayed.
The two lists are automatically connected. After you save the page,
when you display or edit an item from the Orders list, the related
items in the Items list also display.
EDIT
for the next stage you want to update the upload.aspx, this will be slightly more work! as your customising ootb feature! so you need to do two steps!
1) redirect to your custom upload.aspx page
2) bind to list within the new upload.aspx page
for the first task follow:
you have two options for this:
Modification of '_layouts/upload.aspx'
the link above (accepted answer is easyiest in your case)
or
this is also an easy method as its already done for you:
http://spcustomupload.codeplex.com/
for the second task follow:
http://geekswithblogs.net/SoYouKnow/archive/2010/01/21/sharepoint-populating-drop-down-list-field-with-data-from-different.aspx
the link above is slightly different to what you want but the principal is the same and should be easy enough to figure out ;) you will need sharepoint designer tho! as noted you need to copy the upload.aspx page which you should of done already in step one!, open in spd (sharepoint designer) and add the control you want! in your case a drop down box, then follow the rest of tutorial ;)