You can build pdbs for static libs directly in the necessary directory (which may be needed for the debugger) by a little tweaking of msvc.jam. Find rule archive
there and change
PDB_NAME on $(>) = $(<[1]:S=.pdb) ;
to e.g.:
PDB_NAME on $(>) = "c:\\Lib\\boost\\stage\\lib\\$(<[1]:S=.pdb:G=)" ;
(Disclaimer: I have only a vague idea what that cryptic expression means, never saw it documented anywhere, it was a pure guesswork on my part, hence no guarantees, but it works for me).
PDBs for DLLs are built by the linker, so you may set its option in e.g. project-config.jam:
import toolset ;
using msvc ;
toolset.flags msvc.link LINKFLAGS <link>shared : "/PDB:c:\\Lib\\boost\\stage\\lib\\" : unchecked ;
I'm sure there's a way to get the output directory from the system automatically. If anyone figures that out, please update.