Hola:
Vamos por partes:
¿Cómo comienzo?
Con la información que das es difícil contestar porque no sabemos tu nivel de conocimientos, casi me inclinaría por pensar que no son muchos así que:
Introducción a XHTML.
Introducción a CSS.
CSS avanzado.
Una vez que sepas manejarte con eso y dependiendo de lo que quieras hacer quizá algo de:
Javascript o
AJAX.
Y en concreto para tu petición un motor de base de datos (MySQL) y un lenguaje de programación del lado del servidor (ASP o PHP), si no tienes donde subir tu web mientras haces pruebas necesitarás instalar en tu PC un servidor web (Apache, IIS).
Para finalizar, mucha paciencia y mucho tecleo.
¿Qué programa debes usar? Pues es sencillo, desde el simple bloc de notas de windows hasta cualquier editor web (tipo Dreamweaver).
Saludos.