There is a clear constitutional difference between American citizens and permanent residents on the one hand and foreign nationals on the other.

The former have a right to enter the United States, the latter does not. 

Foreigners may have a moral right to enter, but I don't think they do any more than a panhandler has a right that I give him money.  Allowing foreigners to enter as permanent residents is an act of charity not duty.