I'm not stating the "more people" == "less pay". I'm stating that foreign workers are willing get paid less money, regardless of what the job pool is. They have fewer options available to them, so they accept "worse" pay for what maybe essentially the same job.
Also, the amount of jobs that are available at any point in time is fixed. Jobs are created when a company has a need to fill. Jobs aren't created just because there is an excess supply of unemployed people. They don't spring into existence out of nowhere.
Do companies create more positions just to accommodate the influx of foreign workers? Or do the amount of jobs stay the same regardless?
edit: Wikipedia say that (e.g.) H1Bs are capped at 65k/year. Spread across the US, I'm curious how much this affects job creation? I could see an argument if they were concentrated in one place though.
I agree that H1B transfer restrictions are bad though. If people are good enough to let into the country, then they should be free to switch jobs just like anyone else.