If a blue card worker wants to become a citizen, he has to apply for a green card and wait his turn in order to come in under the immigration quota for his/her country.
Yes, I do think it would work. A lot of people who come here don't give a fig about becoming a citizen. They come here to work and earn money to send home. If you have a green card, and become unemployed you can stay here, if you have a blue card and become unemployed you must return home.
Whether this is effective or not will depend on how it's set up. That should all be included in the legislation (along with the anchor babies). It may even eliminate the anchor baby problem since one of the requiements is you can only bring your family if you can prove that you make enough to support them. A lot of people wouldn't move their families if they know it'll only be 3 years.