Rare skillset or outstanding talent can be interpreted at different levels in so far as how strong an statement that is. As a percentage of the population, software engineers have a rare skillset, and there is no employment crisis in the field that requires protectionist measures to keep people with said skillset from mass unemployment. The system you are proposing would end with companies having to hire significantly over 25% of their workforce locally. That's not "favoring skilled U.S. workers over lower skilled workers from abroad", that is "restricting our talent pool to 5% of the world population for the most part". You might chose to legislate it thus if you wish, but you would be doing so at your peril.
Don't get me wrong, I don't think the system should incentive not hiring Americans because they can resign with more ease, that is absurd. But on the other hand, I don't think the U.S. really benefits over the long run of having a system where the talent market is strongly distorted by citizenship. Let me put it another way, would you think it is a good idea, if it were legal to do so, if California passed a law saying people born out of state should only be able to work here at 75th percentile overall wage for their occupation?