There was already a bug filed related to this issue:
http://issues.apache.org/struts/browse/SHALE-178
I have Shale version 1.03 and still this is a issue. I stepped throught the source code and came across a bug in org.apache.shale.remoting.impl.MappingImpl source. In method --> public String mapResourceId(FacesContext context, String resourceId) only the first pattern is considered.
SHALE-178, it is now possible to specify the zero relative index of the URL pattern to use when generating URLs for resource identifiers. Specify this with a context init parameter named "org.apache.shale.remoting.FACES_SERVLET_MAPPING_INDEX". If not specified, the default value is zero (meaning the first, or only, mapping will be used).