Hypermesh Scripting - how to carry out boolean operations on groups of type SURFACE_ELEMENT (abaqus).

Hi,
I am seeking a method to generate new element face based surface definitions using Boolean operations where the element faces being operated on may come from either already defined groups (ABAQUS interface, card type SURFACE_ELEMENT) or the special group "^faces". There are two issues:
First: I have not found a method in the API for referencing the particular faces in a consistent way. Integers values for "^faces" can be retrieved with the commands below, however, the integers do not consistently relate to the same face in various calls to *findfaces.
*createmark elements 1 "^faces"
hm_getmark elements
Second: I searched for, but was unable to find, in the API documentation a way to retrieve a similar list of values from already defined "groups". Can anyone direct me to where this is documented?
Thanks in advance.
Pete
P.S. I am quite new to scripting in hypermesh.