Con respecto a la primera pregunta creo que se puede hacer de la siguiente manera.
Código:
<xsl:variable name="a" select="5"/>
<xsl:variable name="b" select="$a+1"/>
<xsl:value-of select="$b"/>
pero por ejemplo el valor de la variable 'a' puede devenir de un nodo y lo conviertes a número para luego asignar a otra variable sumado el valor constante como el siguiente <xsl:variable name="a" select="number(nodo)"/>.
Con respecto a la consulta de llamar a un procedimiento javascript desde un xsl se puede hacer de la siguiente manera:
Código:
<input type="text" name="dFecha"/>
<input>
<xsl:attribute name="type">button</xsl:attribute>
<xsl:attribute name="name">btnBuscaxFecha</xsl:attribute>
<xsl:attribute name="value">Buscar</xsl:attribute>
<xsl:attribute name="onclick">javascript:BuscaxFecha(dFecha.value)
</xsl:attribute>
</input>
Loa cual desde un botón estás llamando a una función definida en javascript
Espero les ayude con algunos granitos de arena.