If you want to have fewer Mexicans coming (escaping) to the US, conditions in Mexico need to change radically. They live in a corrupt kleptocracy, and until that stops, they will continue to escape. They need the freedom to succeed or fail. They need the rule of law. If they were truly free, they could stay home.
The US needs to make it clear to the Mexicans in charge, that either they fix the problem on their side of the fence or they can forget about "help" from us.
Well, there is only so much you can do for, or with, Mexico. I don't think your solution works, because as you point out it is a kleptocracy. So the place to begin is tough enforcement. They were a kleptocracy 75 years ago and there was no problem.