Puede pasar una lista de ID de características de la siguiente manera:
OBTENER:
http://<hostname>/wfs?service=WFS&version=1.1.0&request=GetFeature&typename=foo&featureid=id_1,id_2,id_3
ENVIAR:
<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature version="1.1.0" outputFormat="text/xml; subtype=gml/3.1.1" service="WFS" resultType="results" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="foo">
<wfs:PropertyName>String</wfs:PropertyName>
<ogc:Filter>
<ogc:FeatureId fid="id_1"/>
<ogc:FeatureId fid="id_2"/>
<ogc:FeatureId fid="id_3"/>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
La opción POST es obviamente más detallada, pero menos que bucle de construcciones PropertyIsEqualTo.