On Windows, how would one go about hiding procmon from another process? What techniques/terms would I be searching for?
You have to write a rootkit for this purpose. Look at this two.
If you are trying to hide Procmon from another process, and you control the environment, say in an analysis lab, it may be sufficient just to hook the victim processes methods for obtaining a process list and feed it an incomplete process list.
Another way to do it would be to hexedit the method that looks for procmon such that it always returns false.
The rootkit idea above works too, but it might be overkill depending on your situation.