The XML file is transformed into an HTML document by your XSLT stylesheet; then the HTML document is displayed by the browser more-or-less exactly as if it had downloaded the HTML document directly.
So the reference to the CSS stylesheet belongs in the HTML document that you generate, not in the XSLT or in the original XML.
As for creating finer-grained references to CSS statements, I think that's an HTML question rather than an XSLT question. If you can work out how to do it in HTML, then it shouldn't be a problem to write the XSLT code to produce it. Turning that around, if you don't know what HTML you want to generate, then it's hard to write the XSLT code to produce it.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference