VARCHAR(MAX)
se tudo for baseado em ASCII, digamos, para modelos básicos de HTML NVARCHAR(MAX)
se o HTML puder conter qualquer conteúdo NVARCHAR dobrará seu uso de armazenamento, pois usa o dobro da quantidade de espaço que VARCHAR. O próprio HTML não requer NVARCHAR, apenas o conteúdo entre as tags HTML pode ser baseado no idioma, etc.
Editar:
Muitos anos depois de dar essa resposta, quase sempre uso NVARCHAR agora, se houver algum entre o conteúdo da tag. Unicode é popular...
Eu só uso VARCHAR se apenas armazenar modelos html simples, por exemplo, tags e espaços reservados
por exemplo:
<div><span>[PLACEHOLDER]</span><div>
Faça a chamada com base no seu caso de uso.