Suppose you do the later - whoops (!) - as soon as the workers are citizens, and employers have to pay full benefits, and worry about unions ... then they'll dump such new citizens and hire actual illegal workers!
Point being: the price of that cheap labour is a function of their illegal status more than anything.
It's a false dynamic.
Just enforce basic laws. Americans will do many of those jobs for higher wages, the jobs that can't support higher wages will leave for Mexico and help them out down there, even in that scenario, surpluses come back to the US as well.
The real 'long term' answer is just to enforce basic citizenship and employment laws.
The answer on healthcare is much more complicated, but probably has more to do with regulating prices etc. than it does expanding medicare/medicaid, which is actually very inefficient compared to other nations, because prices are so high.
Single payer, as someone below mentioned, gives the gov the power to negotiate better deals, but you don't necessarily need single payer for that.
I'm generally against any kind of real socialization because it always ends up a mess, but in healthcare it seems it's going to be needed to stop the '100 aspirin' problem, among others.
More medicare just means more '$100 aspirin' unless it's combined with some other, heavier kind of action.
I hope it works out.