Also after playing for a while I found a way to lock dreamies in your village forever.
First make a new character, then spam talk to the villager you want to keep. Do tasks for them until they ask you to deliver something to someone. This is the task you need to lock them in. You will complete the delivery and then you will be asked to "Thank" ("I delivered it!") the person who originally gave you the task. (Now when you talk to them, you will have 3 options instead of the usual 2.) You will never hit the 1st option, because as long as the task is active (up to: Forever) the villagers will not move away.
Doing this on a 2nd character lowers the risk of accidentally hitting the 1st option on your main character.
Warning: This will lock BOTH parties, so if you want one of those 2 people to leave, then finish the delivery, thank them, and keep trying until you get a task that includes 2 of your Dreamies.