Yes, it's perfectly possible to output a CSV using XSLT. It can be a bit tricky to get all the quoting of special characters like quotes right, partly because there's no spec for CSVs, but apart from that it's straightforward. Use output method="text", and take care over whitespace: don't output any literal text except using <xsl:text>.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference