This plugin might do some of that for you:
https://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/
Without a plugin, you’d need to create Pages and associate a Page Template with that Page. Then in the template file you’d need to put the Template Tags, wp_list_bookmarks(), wp_list_pages(), and wp_list_categories().
For the ‘just one category’ in the sidebar, again you need to use of wp_list_categories() and the include= parameter.
So your template file, called mysitemap, might look like this:
<?php
/*
Template Name: mysitemap
*/
?>
<?php get_header(); ?>
<div id="content" class="widecolumn">
<h2>Links:</h2>
<ul>
<?php wp_list_bookmarks(); ?>
</ul>
<h2>Pages:</h2>
<ul>
<?php wp_list_pages(); ?>
</ul>
<h2>Categories:</h2>
<ul>
<?php wp_list_categories(); ?>
</ul>
</div>
<?php get_footer(); ?>
Resources:
Stepping into Templates
Stepping into Template Tags
Template Hierarchy
Editing Files