Ethernet Shield on Due - is it possible to avoid using PWM pins?

If you want to use the extended spi, you could have some problem.
I understood that you'll use normal features. In this case, maybe you should modify a bit around the library, but i don't think if you don't need high speed , bandwidth and accuracy. You should use the lowest speed between all connected SPI devices.
You'll write SPI.begin(52); SPI.setClockDivider(52, YOUR_SPEED); in the setup, and you'll also initialise pins for Slave Select(e.g. 50 and 51)
you'll connect nothing to pin 52..you can use, for instance, pin 50 and 51 as slave select.

when you want read/write something on SPI bus, you must change status of BOTH pins(50-51) and after you write, for example, SPI.transfer(52, 0×00);
maybe you'll must modify libraries which use SPI,in order to set correctly SS pins before any transfer.

In this way, the SPI interface believe that there is only a device connected.

The code will be similar to SPI code written for arduino uno/mega