Yes. Everything you ask for is possible. And here's an example XML sitemap file generated by the Drupal XML sitemap module with a little bit of configuration. Everything is done for you out of the box.
http://softkube.com/sitemap.xml
If you check the code of the XML file there's a link to an XSL and inside that file you can see the code with references to JS and CSS files and more or less similar to an HTML file.
The above you get almost free (with little config that is) with Drupal and its XML sitemap module. Now check this:
http://softkube.com/sitemap
This is custom made code we wrote to automatically display all the pages (blog posts, portfolio items, etc) in a user friendly sitemap format. I'm not aware of an automated way to go about this as this tends to be site specific. In my opinion, this is more user friendly and also keeps the website's navigation and footer and everything.
Hope this helps and good luck.