The only way to create clothing which is that tight on the character, without any penetration, is to use identical topology. So basically duplicate the body mesh and push out the normals a bit to make the pants. If you’re crafty (using 3dsmax) you can do it without losing the original weighting. I don’t know how that works in Maya.
In the case where the clothing or armor meshes don’t share the same topology as the underlying body mesh, and in the case where it’s just a smooth binded skin, you will never avoid any penetration between the two. They don’t bend at the same points and they don’t even bend the same amounts in the same general areas. It’s like distinguishing two clouds that are in the same spot…not really two anymore. It all just turns into a blending mess and fixing one breaks the other for an eternity to come.
You only have two options and that is to swap or hide the underlying body geometry that the pants would cover. I prefer to hide the geometry as it’s less asset management.
I show how you can achieve it here, but for a different purpose (severing limbs)