In the package inferred system, you can specify a dependency on a package of the form "a/b/c" where a is the package name and there is a lisp file at "b/c.lisp" that defines the "a/b/c" package.
Is there a way to specify a different path for the file for the package inferred system? For example say the file is at "src/b/c.lisp" instead of "b/c.lisp".
It's probably a bug that package-inferred-system uses system-source-directory instead of component-pathname. If you think it is, please file a bug against https://bugs.launchpad.net/asdf
Unhappily, bug or not, any fix isn't going to be released then made universal for a while. So at least for the next two years, you can't rely on it unless you provide your own fixed ASDF.
As for a workaround — why not place your .asd file in src/ if you want all source under there???
You can use
register-system-packages to specify which packages a system provides. You can read more here