Normally (manually), or using code? If using code, which do you prefer...iLogic or VBA?
Normally, you would go to the 3D Model tab / Work Features panel, click the drop-down under the Plane tool, choose "Offset from Plane", then click (select) the face of the part (within the assembly), then make sure the distance is set to zero, then click OK (or press Enter on the keyboard). (I'm sure there are several other routes, and shortcuts, but that's all in personal preference.)
Yes. If you are doing this by code, then you will need to create a FaceProxy. The proxy captures the part face data, then uses it to create an identical one at the Assembly level, so the Assembly can work with it. If using the Pick function, just make sure you use the SelectionFilterEnum.kPartFacePlanarFilter.
Creating the FaceProxy is done from the ComponentOccurrence variable, so you will have to either select it first, or find it afterwords, from the selected face.
Wesley Crihfield

(Not an Autodesk Employee)