Your "node set" seems actually to be a tree rooted at a single node (the children don't count, they come with it automatically). So the simplest way to "pass it to a template" is to call apply-templates on it.
You actually seem to be doing a standard transformation on this tree, so you want an identity template that copies things unchanged:
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
and another one that changes amount into balance:
<xsl:template match="amount[. > 0]">
<balance>positive</balance>
</xsl:template>
<xsl:template match="amount[. = 0]">
<balance>zero</balance>
</xsl:template>
<xsl:template match="amount[. < 0]">
<balance>overdrawn</balance>
</xsl:template>
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference