Yea, the structure is maintained in the assignment. Now the tests below evaluate to true. I had to add /filter in the path. Apparently the filter step was not selected in xalan-1.
<xsl:if test="normalize-space($SelectFilter/filter/field[2]/text()) ='0'"> <xsl:text>Field 2 is 0.</xsl:text> </xsl:if>
<xsl:if test="mmiFacilityCid/@(protected)=normalize-space ($SelectFilter/filter/field[position()>2]/text())"> <xsl:text>Field > 2 has ncid.</xsl:text> </xsl:if>