Good work! I'm really surprised that the shield has those connections. I haven't seen that before. My W5200 shield is from Seeed and I don't think it does any of that. It's very annoying that there is no documentation on the pin connections on the robotshop.com product listing page. They even have a "datasheet", which is really light on any useful information. I'd think it would be common sense that the most critical information to provide about a shield is the pin connections but time and again I find the sellers of Arduino shields omit that information.
I've thought it might be handy to have a connection to the interrupt pin but I've never tried it. I do have a project where I made a connection to the reset pin on the Ethernet module just as a belt and suspenders sort of thing so the Arduino could reset the Ethernet controller if it stopped communicating and all else failed. The PWDN pin could be useful to save power if you had a project where the Arduino didn't need to have continuous access to incoming Ethernet communication.
My question now, is do I have to reset the shield just on start or any time I need to recommunicate with it over spi?
I'd say just on start, and if there was a problem where the Ethernet controller stopped responding.
What would be the purpose of desoldering the PWDN or nINT.
Free up pins 9 and 3 on your Uno so that you can use them for something else.
would it be a good idea to wire nRST to the arduino reset?
I'm not sure. The concern I have is whether the Uno's auto-reset circuitry will work correctly to reset both the ATmega328P on the Uno and the W5200. You could try it out by temporarily making the connection with a jumper wire. You can prevent shield pins from connecting to the Uno by removing the shield and then gently bending the shield pin out so that it misses the female header on the Uno. You should be careful to bend the pin the least amount possible as repeated sharp bends back and forth will weaken the metal of the pin over time and it may eventually break off.