there are other booking sites through which you can book where you will pay the US-Dollar price (and can use your Canadian credit card). On the airline's site, it will change your location, not based on your credit card bank, but based on the billing address of your credit card. There isn't much you can do about that...
I am surprised that the price would be so dramatically different for the same flight - usually I see major price differences only based on the point of origin, not the currency or billing address. It's possible (but unlikely) that there is a promotion going on that excludes Canadian residents.
It may be worth calling united actually to point this out -- call the US number, have them quote the US price, then ask to pay with your card (don't even say that it's Canadian), and see if they also switch the price to CAD, or if they stay at the USD price that they quoted you - I suspect they won't switch the price. I'd think for LAX-YVR it should be reasonable to request the US-Dollar price since it originates in the US.
I agree with the other posters -- it's not "SCAMMING", it's either a pricing glitch that's unintentional, or some kind of promotional fare that isn't available to Canadian residents. Using this kind of hyperbole is not helpful, when the point is just to figure out what's going on and find a way around the problem.