1. Add a modules folder to the package, and in the package bootstrap, add that folder to your config's module_paths list. When you (always) load the package, the module path will be added automatically.
2. No (sorry, Mike). In Fuel, you can only override what has been aliased, which means core classes, and any namespace that has been aliased to global (like for example the Auth package).
If you want to capture a request for a module Controller and route that elsewhere, you could use route definitions for that.