Намёк понял...
Вот так?
<xsl:if test="/shop/shop_item/property_value[property_id = 411]/value != 0">
...
<xsl:variable name="value411" select="property_value[property_id = 411]/list_item_id" />
<!-- малое изображение элемента списка (если есть) -->
<xsl:if test="$property411/list/list_item[@id = $value411]/image_small != ''">
<img class="img-fluid" src="{$property411/list/list_item[@id = $value411]/dir}{$property411/list/list_item[@id = $value411]/image_small}" alt="{property_value[property_id = 411]/value}" />
</xsl:if>
</xsl:if>
Может и вторую переменную
$property411 внутрь запихнуть?
Вот зто:
<xsl:variable name="property411" select="/shop/shop_item_properties/property[@id = 411]" />