Did you try to set the JBOSS_MODULEPATH environment variable that is used for example in domain.sh for passing it via -mp (I was assuming you are on Unix/Linux)?
By executing java -jar jboss-modules.jar -help you will get more information what can be actually passed for setting up module-location.
The reason why still the modules directory is used instead of module.path is that -mp is passed in the standard scripts (although possibly with no additional path information).
The idea of the modules is to be able to run different versions of a specific module.
You can add the same module in different versions by using the subfolder main 1.0 2.0 and so on the module configuration need to have a slot attribute.
Within the jboss-structure or MANIFEST you can reference a module with a specific version (slot).
Also you can have different drivers for datasources to use different versions.