sounds pretty cool, but I'm not sure how even.. especially on how to make every enemy have their own without making 1000 items
What I describe may be completely impossible in tmod/terraria so I may be talking out of my here but in a standard coding environment you can upon load loop through all available assets of a type (Say NPC's), access any relevant data you need (Name, Friend or Foe, Loot table) and then either create things from that data (new items) or as long as that data is not read only somehow you can molest it (say to add an item you just created on the fly to it's loot table.)
So in essence you would loop through the NPC list and for any non boss Enemy you would then create a "Soul of <insert enemy name here>" with a generic looking soul sprite, description and anything else needed for an item creation, this item would contain the enemy's ID as well for quick reference.
You would then molest the npc's loot table to add this new item in.
Like I said, might be impossible, I've never actually bothered to look under the hood of the modding tools since I already spend my type looking at code during the day.
That said, I suspect it may indeed be possible considering Prefixes for Enemies and Kaliwhatever's RPG mod exist and the former s with the enemy stats in random ways while the later has it's own set of RNG based weapons.