Is there a way to use Arduino PWM signal to supply a varying large current through a restive heating element?
As drawn, you would need a P channel fet and you would never be able to turn it off as the gate voltage from your arduino would be 3.3V or 5V, no where near the 12V source voltage.

Use a n channel mosfet, switching the "valve" with the heater, would work. Of course, you need a mosfet that can allow x amount of current your heater needs,  at y gate voltage, where y is your arduino voltage. Google low side driver circuit. 

Or you can use a mosfet driver to enable or disable a P channel fet. Added complexity.