Hm,
also deine Abfragen laufen ziemlich ins leere.
Generell kann du so vorgehen (code nicht getested!):
<xsl:template name="vergleich">
<xsl:variable name="Doc_1" select=".//*:featureMember//*:localId[1]"/>
<xsl:variable name="Doc_2" select="document('Datei2')//*:localId"/>
<!-- for each nur auf elemente mit id attribute anwenden -->
<xsl:for-each select="$Doc_1[@id]">
<!-- teste ob id in Doc_2 existiert -->
<xsl:if test="$Doc_2[@id = current()/@id]">
<!-- gib element aus -->
<xsl:element name="{name()}">
<xsl:attribute name="id">
<xsl:value-of select="current()/@id"/>
</xsl:attribute>
<!-- inhalt von doc_1 element -->
<xsl:value-of select="current()"/>
<!-- inhalt von doc_2 element -->
<xsl:value-of select="$Doc_2[@id = current()/@id]"/>
</xsl:element>
</xsl:if>
</xsl:for-each>
</xsl:template>