This is not really a jBPM question as the engine is able to persist and return a list of strings as variable value. Anyhow, if you are using JSF, you could take a look at what the web console does.
In particular, the web console comes has two supporting tag libraries, gravel and jbpm4jsf. These tag libraries provide a number of tags which you might find useful.
<html xmlns:h="http://java.sun.com/jsf/html"
xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
xmlns:j4j="http://jbpm.org/jbpm4jsf/core">
...
<j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
<j4j:getVariableMap target="#{vars}" value="#{pi}"/>
<gd:repeat value="#{vars['applicants']}" var="applicant">
<h:outputText value="#{applicant}"/>
</gd:repeat>
</html>
Both the jbpm4jsf and gravel jars are available from the jboss maven repository.