Leg going through clothing
The basic idea is that any vertex of the cloth close to a vertex of the leg should have the same weights relatively to ALL bones involved (not only relatively to the closer bone, the upper leg in your example). This can be accomplieshed with weight painting tecniques, or using the vertex weight tab in the "N" properties panel (with a mesh in edit mode and a vertex weighted selected): you can select some vertices of the cloth, a close vertex of the leg (last selected is named active "active") and press the "file and arrow" icon: this will transfer all weights from active to selected vertices.