How do you add a column to a list that will allow you to upload a file? I know you can attach to a list item but you can not display this as a lookup in another list.
The simple answer is that you can't. You have document libraries to store and interface with files and their respective metadata, and list attachments to attach files to specific list items. Is there a specific reason why file attachment doesn't work in your scenario?
You could likely modify the way the list attachment is presented to the user so the experience is different, but this would require custom code.
If I understand correctly you can create Document Library instead of List. In this case the library contains meta document information that you can use in lookup field of other lists.