Plantillas HTML puedes buscarlas como tal en Google. Ya te dieron una buena página de ejemplo. La recomendación es siempre aprender lo básico de HTML+CSS, hay mucha información en internet; yo aprendí con CSSya.com
El dominio la diferencia principal es el nombre. Es más fácil que alguien recuerde un ".com" por lo popular, pero si tienes un rubro específico, puedes elegir el que más te convenga.
Y sobre el hosting, hay algunos gratuitos como 000webhost que permiten el uso de PHP y otros códigos avanzados. Por supuesto, no hay nada mejor que un hosting de paga. Los hay desde muy básicos y económicos, hasta algunos de precios más elevados, pero con muchas funciones singulares.
Suerte