org-roam can do what you want.
If you have one big file now you can use org-roam to create nodes for the relevant sub-heading which can be linked to from elsewhere. These nodes can eventually be moved to their own files when you need.
You may also find the roam ref feature useful for external references/documents.
A node id is a property under the file or org-headline so I don’t think you can add multiple nodes to a single headline. Maybe if you explain your use case a bit, there might be a better suggestion?
If the bits of info are different enough then the best bet would be to have them as separate sub-headings. If bits of into are mostly related then you could consider either using aliases or tags.