Creating sitemaps is really easy. You need to create a sitemap index, that can hold many sitemaps inside it. Example:
http://www.upad.co.uk/sitemap.xml, now you can create an html sitemap too like
UPAD | SiteMap | Reinventing Renting
This site will have over 5,00,000 pages, so we will be having around 10 xml sitemaps, each containing 50k links in it. The html sitemap pages will not have more than 100 links per page.
It is not very difficult to program as a large website will always have cms (any apps to manage the web pages using a DB).
Do let me know if you need more help.
Regards,
Aji Issac