As abrevs só podem conter caracteres que são considerados sintaxe de palavras, conforme especificado pela tabela de sintaxe atual do buffer. Se você fizer "." e "-" word characters, então você pode usá-los em abrevs.
(require 'sgml-mode)
(modify-syntax-entry ?- "w" html-mode-syntax-table)
(modify-syntax-entry ?. "w" html-mode-syntax-table)
Existem desvantagens. Se você fizer pesquisas de regex usando \ w, então - e. agora serão correspondidos em quaisquer buffers usando a tabela de sintaxe alterada. Os comandos de movimento do cursor nesses buffers também serão afetados; por exemplo. A palavra de encaminhamento não será mais interrompida antes desses caracteres. Da mesma forma, kill-word excluirá mais texto do que antes. Eu acho que esse comportamento seria bastante surpreendente e desagradável em buffers de modo de programação, mas em um modo de texto como HTML, eu não acho que isso causaria muito sofrimento.