Praticamente o @steamroller encerrou a questão.
Undead denota um ser não vivo mas animado por alguma força sobrenatural. Vampiros, múmias e zumbis.
É formado colocando-se o prefixo un- antes de dead ("morto").
Este prefixo denota negação ou provação, e é encontrado em palavras como unheard, unseen ou unfair. É equivalente, e muito provavelmente derivado, do prefixo in- do latim.
Em português utilizamos dois prefixos originários do latim para passar essa idéia de privação e negação: in- e des- . Usamos também a(n)-, mas esse vem do grego.
In- vem diretamente do latim e era utilizado da mesma forma.
Exemplos: injusto, invisível, inaudível. (em latim, iniqvvs, invisibilis, inavditus)
Des- tem duas prováveis origens, o prefixo dis- ou a locução de ex, ambas com sentido de negação ou dispersão.
Exemplos: dissensão, dissonância, discordar e, coloquialmente, "desinfeliz".
Portanto, se fôssemos fazer uma tradução literal do termo undead deveríamos:
1) usar imorredouro, palavra já consagrada em português, mas que soa muito rebuscada.
2) Ou criar "desmorto", que é um neologismo, porém é aceitável do ponto de vista gramatical.
Morto-vivo acaba sendo, então, a melhor opção, ainda que seja a tradução literal de living dead. Gramaticalmente está correta, e é um vocábulo consagrado - todo mundo sabe seu significado.
"Não-morto" soa horrível - desculpem a sinceridade, mas realmente é uma merda - e está incorreto semanticamente (um "não morto" é alguém que está vivo) e gramaticalmente (o correto, em nossa língua, é utilizarmos os prefixos para passar a idéia de negação; quando unimos um advérbio a um substantivo ou adjetivo, temos uma locução adverbial).