Do not break the css file, because HTTP requests are the most expensive thing. Are you taking full advantage of inheritance? Are you using css shorthand for properties, colors (when possible) and using 0 instead 0px, 0pt, 0em, etc?
Don't do it for the css file, because you want to send the file as fast as you can and because you want the page to start to render as soon as possible. If you use a CDN you must pay a DNS resolution and the creation of a new connection to a different server. I wouldn't do it also for template background images, for the same reason, but I would use sprites to the maximum.
For caching, read this: Optimizing cache
Minification is useful for browsers that do not support compression (rare) or because user proxies (relatively common). It's a one time thing that saves you bandwidth and makes the documents load faster. Careful with minfying, if you are using css hacks or if you want to style :first-letter in IE6-, in that case is better to do it by hand, because available minifiers are clumsy with respect to css hacks and specific IE6- space needs.
Make sure that you have keep-alive enabled and do not forget to use compression.