Hello and welcome. :)
A) Yes.
B) No.
CSS is for styling existing content, not for providing the content. What you want is SSI (Server Side Includes). SSI isn't a real programming language, it's more of a limited set of directives that can be used to include files or variables. The same thing can be done with real programming languages like PHP.
It's very easy. You can think of it like cutting out pieces of the page with a pair of siccors. You can cut wherever you want. Save the cutouts to their own files. Then you insert special comments where you want the pieces pasted back. The server parses the HTML, looking for those comments, and inserts the corresponding files before the page is sent to the browser. And the page is whole again! :D
^^^^^
(note the space before the closing "-->")
You must also tell the server to parse the pages for SSI. Usually by renaming the pages .shtml, but that can be changed.
If you use Apache you can read about SSI here:
http://httpd.apache.org/docs/2.0/mod/mod_include.html
http://httpd.apache.org/docs/2.0/howto/ssi.html
PHP:
http://se2.php.net/include/
You can find more easy to read tutorials through google.
--
http://yupapa.com