VARCHAR(MAX) if it's all going to be ascii-based, say for basic HTML tepmplates
NVARCHAR(MAX) if the HTML could contain any content
NVARCHAR will double your storage use as it uses double the amount of space as VARCHAR. HTML itself does not require NVARCHAR, only the content in-between the HTML tags could based on the language, etc..
Edit:
Many years on from giving this answer I almost always use NVARCHAR now if there is any between the tag content. Unicode is popular...
I only use VARCHAR if just storing simple html templates, eg tags and placeholders
eg:
Make the call based on your use-case..