Will nodes still be able to find each other using today's official Bitcoin client?
The core developers could decide on a new port then get the word out that everyone should start using that port. It's a very easy change in the bitcoin.conf file. Mining pools, online wallets like blockchain.info and Coinbase, and "light" wallet providers like Electrum could lead the way. (For example, once blockchain.info made the port change on their server, all their users would automatically have service again). I think it would recover quite quickly.
The new port could also be shut down but it would turn into a game of "whack-a-mole". The developers would probably come out with a new release that used some kind of strategy to dynamically search for a port to use to solve the whack-a-mole problem.
Alternatively, there is no reason they could not just switch to using port 80 for bitcoin. The main disadvantage is it would make it a bit more complicated to run a web server and bitcoin node on the same machine.
Very few nodes run on ports other than the default of 8333, so if somebody had unilateral control of every network connection in the world and decided to block
8333 then Bitcoin would collapse. There's portions of the network that use Tor for communication only, and these would not be affected by port 8333 being blocked at all.
I'm inclined to believe that a successful fracturing of the network (truly partitioning it) would effectively fork the Blockchain, and create two or more separate Blockchain universes, depending upon the number of successful partitions were achieved. If it hasn't been performed already, I would expect some academic institution might try experimenting with small isolated Bitcoin networks or enclaves and slowly break the connectivity between enclaves to see what the behaviors really unfold. The point about TOR (The Onion Router) is a great one because it is likely to route around any censorship and possibly prevent the forking of the Blockchain provided there is enough network redundancy using TOR.
Now that I think about it, it wouldn't be possible for all the ISP's to shut down a common port at the same time unless the timing was synchronized perfectly. Now that doesn't mean they couldn't do it, just it would be nearly impossible for them to sync all at the same time. Consider an honest party whom is nanoseconds away from completing a block the very moment that every single ISP decides to block the port. Say there exists a party that has a really high latency and they get the very last bitcoin 100ms after the shutdown. Now they are only 10ms away from another party whom was mining with a 50ms latency. Could a bad transaction occur within those remaining milliseconds if one party decided to buy / sell? If the entire world stopped mining bitcoins at once and you had an extra 100ms of mining would those 150ms directly scale and create a drastic increase in the price while still leaving you time to sell? What if you decided to buy all the bitcoins from people who had higher latencies at a discounted price because they didn't receive the market data fast enough?
In all honesty, there are so many different things that could happen economically wise as well. Under those given scenarios, I believe it would be possible for one party to benefit greatly due to the lapse in the latency. Each party would stop mining at different intervals, it would be impossible for the ISP's to attempt to stop every party at the same time due to them not being able to stop a packet once it's sent. It's a very interesting scenario to think about though as to how one might exploit the latency differences.
As far as a solution to the problem one might consider an alternative port. Consider a different method of linking the transactions (0, 1,... to n) to use two autossh tunnels: one through port 22 and the other through port 2222. If the ISP's block these ports, well... then it wouldn't exactly be possible for them to ssh into the server in the first place. In regards to the potential leakage of the clients public key by switching to the ssh ports, one might suggest a fully homomorphic Encryption scheme such as the one used with popular secure email client Lavabit. (recently shut down by the NSA for being too secure) Thats just my two cents.
Nonetheless Homomorphic encryption would secure a users public key as required by the bitcoin protocol if we switched to ports 22 and 222: