virtual strings are typically used by the gui to pass the content of a user selection which populated a data box. The vstring will be in "pick list " format which can have embedded recursive pick definitions within it (e.g. a line defined using the two end points and that does not exist with an id). To evaluate the vstring and obtain the necessary information you use the "List Processor" function calls. The ability to use the picking mechanism to select things that don't have ids is very powerful but does mean you need to think carefully about how thoroughly you want to support this with you own PCL - typically you will be writing PCL where you expect an explicit string with the object prefix (Line, Node etc). So the full power of the List Processor to do things like return the xyz coords of a screen picked location on the edge of a surface is not required, though it is this type of picking that saves having to explicitly create a point just to get the xyz of that location. This explanantion was my way of saying that the List Processor is very powerful but that means for simple things it can apppear rather complicated and there are sometimes ways of avoiding having to use it.
The help section on the List Processor under the docs Tutorial Function descriptions/ User Interface / List Processor is one place to look, but there are multiple.
another function is "lp_picklist_string_creator_v"
and "lp_sublist_attribute_get_inta"
one of the ways of avoiding the list processor for "simple things" is if you can use the call "fem_u_get_id_list" which can return more than just "FEM" ids it also does some geometry types. This will also involve calling "fem_u_count_id_list" so that arrays can be correctly sized before calling other "fem_u_....." functions.
So have a look at the fem_u.... functions and the lp..... functions.
Hopefully this will enable you to do what you want, though you may have more questions.
Following on from Arthur's comments, attached is a simple example using fem_u... calls. This example works on `lista`, but can be easily changed to use any other picklist as input.