If I'm building a PHP system which I expect to port to many different servers, should I avoid relying on PHP 5 features such as exceptions and final methods? How widespread is PHP 5 by now? Should I be worried about compatibility and ditch exceptions and other features not available in PHP 4?
This depends on what type of servers that you expect to port to.
If you're looking at military contractors that are still using 486's because that's the last thing that was approved for shuttle missions, then, yes, you should use old software.
If you're considering hosted servers, the latest rev of whatever you're using will be available. If you are reselling a product to customers, you will be able to tell them what the system requirements are - OS, DB, scripting language and version, etc.
A lot of OSS fanboys will tell you two different arguments: avoid any proprietary extensions to anything because it harms portability, and 2) use the latest rev available. These are diametrically opposed points of view.
The reality is that in the web development world, I try not to let these types of debates keep me from developing using the best tools available. The one exception is browser compatibility, which is one thing that we don't have control over.