The NSRA operand is very powerful since you can get almost all ray data about a given segment without saving a ZRD. However, access to which face a segment hit is impossible without saving a ZRD to disk and then parsing the ZRD; the ZOS-API single & batch ray trace for non-sequential mode piggyback on the old DDE structs which are limited to 18 data values, which is why the IRayTraceNSCSourceData is limited to 18 outputs (and Face Data is not one of those outputs).
This severely limits ray/object analysis in non-sequential mode.
The quickest solution to programmatically access Face Data would be to simply add Data 40 to the NSRA
operand so you can test which face a segment hit and then get the needed information by using the other Data values.