If you just want to translate the vale of $tech_id to lower case use the translate function:
<xsl:variable name="lcase">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="ucase">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:attribute name="key">
<xsl:value-of select= "concat('this-', translate($tech_id, $ucase, $lcase), '-entity')"/>
</xsl:attribute>
Regards
Bryan
www.3chillies.co.uk