I don't believe so, because Guice will report the missing binding as an error before it gets round to starting custom injection.
The only way I've found to provide a kind of "auto-binding" without modifying Guice internals is to use the SPI to scan for missing dependencies and then add bindings for them.
For example:
Guice.createInjector( new WireModule( appModuleA, appModuleB, serviceModuleC ) );
where WireModule uses Elements.elements(...) to process, analyze, and reapply the various elements - keeping track of what dependencies are used and what keys are bound.
The downside of this approach is that you need to remember wrap the WireModule around your application modules, as well as the up-front cost of analyzing the elements. It also doesn't work so well with just-in-time bindings (such as asking the injector for an instance of FooImpl.class, where FooImpl is not referenced at all in the bindings provided to the injector and therefore was not available for analysis).
The benefit of doing the analysis upfront is that the final binding elements are static and can be analyzed by tooling just like those from any other module.