Это не оптимально, но рассмотрите возможность создания двух циклов, например:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<div id="vtab">
<xsl:call-template name="LOOP_1"/>
<xsl:call-template name="LOOP_2"/>
</div>
</xsl:template>
<xsl:template name="LOOP_1">
<ul>
<xsl:for-each select="/dsQueryResponse/Rows/Row[generate-id(.)=generate-id(key('TitleKey', @Title))]">
<li>
<xsl:value-of select="@Title"/>
</li>
<xsl:variable name="thisClassification" select="@Title"/>
<div>
<xsl:for-each select="../Row[@Title = $thisClassification]">
<xsl:value-of select="@Model"/>
</xsl:for-each>
</div>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template name="LOOP_2">
<div>
<xsl:for-each select="/dsQueryResponse/Rows/Row[generate-id(.)=generate-id(key('TitleKey', @Title))]">
<xsl:variable name="thisClassification" select="@Title"/>
<div>
<xsl:for-each select="../Row[@Title = $thisClassification]">
<xsl:value-of select="@Model"/>
</xsl:for-each>
</div>
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>
Я не уверен в ваших требованиях, но может быть более эффективно просмотреть требуемый вывод и вывести вложенныйсписки и форматировать его с помощью CSS, а не создавать отдельные циклы