When did you fork?
We've been doing this subclassing bit in Tomcat since 4.1.x days via various <Context> sub-elements, i.e. <Resources className="..."/> and <Loader className="..." and loaderClass="..."/>. I'm not sure if this was possible in 4.0 or 3.x days -- we just set the classpath for the entire servlet engine back then (and, yes, we *could* revert to this today, but it would be a step backwards).
I realize this is somewhat of an odd requirement and could always patch Glassfish itself. It would be far better overall to be able to modify the behavior by extension on a per-web-app basis, though.
[Message sent by forum member 'jess_holle' (jess_holle)]
http://forums.java.net/jive/thread.jspa?messageID=242008