You may find the Soul Collecter in the underground corruption after hard-mode, but she'll only come into your house after you have defeated the Devourer. She looks like the grim reaper in girl form, and is uneffected by monsters (she won't get hurt), and she actually seems to enjoy being outside in the night. She sells souls, but you have to have found the soul legit at least three times before she actually starts selling it. I was also thinking that there might be a soul that you can only get from her after you have found all the souls, but I dont know what it would be or what it would do.

Though she would sell souls, I was thinking (with credit to Nutric) that you can sell things called NPC Ashes, which are dropped by NPCs, to get NPC souls. NPC souls revive the last NPC that died, as long as no other NPC with the same role comes before doing so (say my merchant died. If I don't use the NPC soul before another merchant comes, the NPC soul is useless until another NPC dies). You may also use the NPC ashes to make graves. If you bury the NPC ashes (they are placeable) and put a gravestone above it, then the gravestone will say "Here lies <NPC Name> the <NPC Role>." At night, you may be able to see their ghosts rise up from the graves if you have made them...

That is all! Comments and suggestions go BELOW!