Interesting idea! Though as I understand it, the limiting factor atm would be that FPGA cores are considerably slower than real silicon. So even if you had a huge FPGA, loading an identical circuit to a modern processor would not be anywhere near as fast.
This is true, the flexibility you get form being able to reconfigure things does result in less efficiency (speed, size, power) than some dedicated hardware. An FPGA can be more efficient than general processor if it can be tailored to the specific computational task, but it will still be slower than if you made an IC with the specially tailored hardware.
This is true, and as far as I see - this is an inherent limitation. Dedicated, static ASICs will always be faster or more efficient.
However - I think there's some interesting work to be done in hybrid approaches. For example, besides FPGA cells, you can include fast on-board cache, arithmetic units, etc. So, this way, if you're switching between GPU and CPU cores, a subset of that can be reused.
For reference, a typical FPGA cell includes a 1-bit flip-flop and an LUT (look-up table). Flip-flops are memory, LUTs simulate the logic.