É possível sim, mas você está tentando da forma errada. Coloca <?php ?> dentro do XSL vai dar erro mesmo já que o parser não entende isso. Você tem que definir todas as variáveis dentro do php e usar a função $foo-setParameter() para enviá-los ao XSL. Eu fiz isso a muuuuiiitoooo tempo atrás e não lembro exatamente a sintaxe. Abri aqui os arquivos mas eles são imensos e muitos complexos pra colar e você tentar entender então eu dei uma enxugada. Pode ser que não funcione mas você pelo menos saca a idéia.
PHP
// Load the XML source
$xml = new DOMDocument( "1.0", "ISO-8859-1" );
$xml->preserveWhiteSpace = false;
$xml->formatOutput = true;
$xml->load('produtos/abc.xml');
$xsl = new DOMDocument("1.0", "ISO-8859-1" );
$xsl->preserveWhiteSpace = false;
$xsl->formatOutput = true;
$xsl->load('produtos.xsl');
// Configure the transformer
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl); // attach the xsl rules
$proc->setParameter('','tempo',iconv("ISO-8859-1", "UTF-8",strftime('%A, %d/%m/%Y',strtotime('now'))));
echo $proc->transformToXML($xml);
XSL
<xsl:template match="general" mode="indicar">
<dl>
<dt>Enviada em:</dt>
<dd><xsl:value-of select="$tempo" /></dd>
<dt>De:</dt>
<dd><span id="mail">xxx@xxx.com</span></dd>
</dl>
</xsl:template>
Acho que dá pra entender. E como eu falei, copiar e colar não vai funcionar já que essa parte estava totalmente aninhada e relacionada a outro elementos. O que você precisa entender é que o php usa setParameter() para enviar e o XSL recebe isso como variável ($tempo).
Caso você queira usar essa variável dentro de algum parâmetro use colchetes:
<form action="{$path}indicar.php" method="post" onsubmit="post(this);return false;">