Hmmm. So your EJBs are also responsible for URL handling?
I suggest to have a look at Rewrite (which is basically the “core” of PrettyFaces). It allows you to do configuration programmatically which perhaps works better with your module system. With Rewrite you can have multiple “ConfigurationProvider” implementation. Each implementation contributes mapping configuration to Rewrite. That would perhaps be a good fit for your module structure. Especially you could ask your EJB at startup for the mapping metadata and configure Rewrite accordingly.
I wrote a Prettyfaces3-to-Rewrite Migration guide some time ago. That may be helpful for you to understand how to represent the classic pretty-config.xml configuration with ConfigurationProdivers.