I think all the proposed solutions are good.
Villagers should have some dedicated slots (not all the slots, as arguments had been clearly presented against that.)
Passing items between villagers might be a good idea.
Also, having some sort of community inventory to move things they don't need anymore too might be nice.
Overflow dumping may also be needed.
I'm sorry if I wasn't clear.
This isn't a feature request this is a suggestion on how to resolve a bug.
The bug is that villagers will sometimes decrease in numbers when left in simulation too long.
The additional suggestions are a proposed way of fixing it. They may amount to a feature request, but they are only an example, not a the only solution.
There clearly is a bug here so long as villager numbers can dwindle due to some of them becoming evil witches and killing off the rest, or them being killed by monsters.
If you want I can refile the bug without the additional information.
Villagers already can reproduce.
There is already a limiter on the reproduction. (This was deemed a bug and fixed about a year ago by capping residents based on how many complete houses in the village. As a note, not all bug reports relating to this have been closed even.)
There currently isn't a function to force reproduction and respawning. (This is a bug much like capping resident number.)
If you want to mark this a duplicate of another bug that's fine, but it's not the lack of a feature of the lack of any such feature is game breaking.