Hi,
I think that TestComplete does not use files from some subfolder because a) not all of them may be required for the given project but may belong to another one; and b) because it is possible to use files that are located outside of the folders structure of the current project (usually these are the shared library files).
There is no officially documented structure for either project files or namemapping one and their manual merge is not recommended. For some files the internal structure can be guessed, but you will merge on your own risk.
TestComplete can merge two namemapping files (see help for the details of the process), but according to the messages from others the merge results require manual cleanup quite often.
Personally I never used automated merging and our teams always used manual merge from local projects into the main one. (Yes, this is inconvenient, but reliable.)