Per http://markmail.org/thread/ft7d6bn7swnw2dls (read the full thread) -- it seems like there is a high chance that the interface JSONSerializable will be added to PHP. This adds a single method called jsonSerialize(), which can return an alternate variable to be encoded, primarily for adding protected/private properties.
Although the interface might change, it would be an interesting concept to support this interface early. I'm not sure how keen everyone is on interfaces, but a check could be done using interface_exists(), and if not found, could add the interface. From there fJSON::encode() could check to see if an object passed implements the interface, and if so, encode the return value of it's jsonSerialize() method instead.
With regards to my previous idea of serializing XML, it might be interesting to add an XMLSerializable interface as well during that implementation, with an equivalent xmlSerialize() method.
This seems somewhat redundant only in the sense that PHP already has a serializable interface, however, this allows for more granular control, as well as supporting multiple serialization techniques.