My knowledge of make is basic, I did not even write it, I only modify to work for me. Because building system is not my focus, if it work I can leave it as is even if it not perfect. Bigger problem for me is cmake and VS project because each time I add some file I need update them manually. I don't have this problems with makefiles.
CMake supports wildcards, but apparently developers don't like it.
It would make my job easier as well but I'd rather not touch what I'm not experienced with.
AFAIK whole point of pch is having only one for whole project. Why only this folders? Maybe because this is most common part. Better ask person who create this file (probably SupSuper) for more accurate answer.
The point of pch is to precompile headers that rarely change, this is the system/language headers and the Engine/Interface stuff in OpenXcom's case. Adding every header would just force a rebuild on every change.
I believe it's only used by MSVC and Makefile.pch though, and it's usually disabled because it tends to hide "include errors" on some compilers.