If this is so urgent that you need to chase it within a day, you really should be using customer support. This forum is manned by volunteers (including those folks such as me who work for Cadence) - who try to fit this in during their spare time (which is rather limited for me at the moment), and as such you shouldn't expect fast response.
termPosition is not what you want. From the documentation:
Returns the position to which this terminal is assigned. Assigning a position or indicating an order for terminals is typically used by netlisters to compare the actual pin position to the position specified in the netlist.
In fact the terminals are not what you need. It's the pins - because the pins carry the physical information (e.g. geometry) of the pins, whereas the terminals hold the connectivity information.
So, assuming your instance has instTerms - which it will if it was created in VLS XL - you can find the figures. For example:
("D" "G" "S")
So as you can see, some of these may have more than one fig (in OA-based releases). For example:
D_figs_bboxes=foreach(mapcar D_fig D_figs dbTransformBBox(D_fig~>bBox inst_id~>transform))
This gives me a list of the transformed bounding boxes (i.e. the location of the pins) in the coordinate space of the cellView. The pin figures are in the instantiated master, and hence we have to transform it into the current cellView using dbTransformBBox.
Alternatively maybe you can use lxSelectedRoute to auto-route the selected nets?
I didn't really understand your second question. You also didn't say which version you're using, or whether you're using Layout XL or not.