Hi, I think you are over complicating things.
First of all, NuGet doesn't work like you suggest. It sounds like you're trying to merge two independent projects that are stored locally and have NuGet manage the interdependencies. NuGet deals with
packages and dependencies between packages.
So what you really want to do is make ProjectB into a NuGet package (PackageB). You can create packages that include source code. Just reference the source in the
content node of the .nuspec file. ProjectB can have whatever package dependencies it needs. If ProjectB is really for internal consumption only, then create a local repository to store this package.
Now in ProjectA, you simply reference PackageB. This will pull in the source code in the package and any of PackageB's dependencies. You said A also had a subset of B's depenedencies. These packages will have already been downloaded when adding PackageB,
so the references will simply be added to A.
If later on B is updated, A will still work fine since it is dealing with a specific version of B. Once you're ready, you can update PackageB from A and it will update the source files (as long as you haven't changed or moved them) and pull in any new packages
So as you can see, if you think in terms of packages even for internal projects, then NuGet will definitely simplify things.
Hope this helps.