cljs.closure/add-dependencies looks like the right place to do this. For this to work we would need to always sort files into dependency order before compilation. While this is done for cljs.closure/add-dependencies it is not done for files encountered in the source directory as a result of the implementation of cljs.compiler/compile-root.
If files were always guaranteed to be compiled in dependency order we could then easily pass the dependency information along and use this in cljs.compiler/requires-compilation? - a file would then additionally require compilation if any of the namespaces it depends on was recompiled.