Этимология слова кикимора очень интересна. Это существительное образовано путем сложения, от кики + мора. Начнем со второй части. Слово мора общеславянское, во многих славянских языках оно обозначает что-то, связанное с нечистой силой, ночными кошмарами, ср. сербохорватское мора 'домовой', 'кошмар', чешское můra 'злое ночное существо; ночной кошмар' (и 'ночная бабочка'), польское mora, zmora 'призрак, кошмар'. Происхождение слова мора точно не установлено; предполагают, что это старое заимствование из германских диалектов. В таком случае оно родственно немецкому Mahr 'кошмар', второй части английского nightmare 'кошмар, страшный сон' и французского cauchemar, в котором вторая часть -mar – заимствование из германских языков (отсюда, кстати, происходит и русское слово кошмар – это заимствование из французского; получается, что в словах кикимора и кошмар исторически можно выделить один и тот же корень).
Что же касается первой части сложения, то она может быть связана и с кика < кыка 'праздничный головной убор (с рогами) замужней женщины', и с древнерусским кыкати 'подавать голос, кликать; кричать; куковать'. Это вполне соотносится со значением слова кикимора – 'нечистая сила в женском образе'; 'лешачиха'; 'лесной нечистый дух в образе женщины'.
Выражение во весь дух (бежать, мчаться) имеет значение ‘очень быстро, напрягая все силы’.
В устойчивом выражении - нА дух (не переносить).
Слова нравственное качество здесь неуместны. Лучше использовать, например, слово явление.
Правильны оба варианта написания, однако тире подчеркивает противопоставленность двух частей этого крылатого выражения.
Литературной норме такое употребление не отвечает.
Затрудняемся прочитать с интонацией, соответствующей такому пунктуационному оформлению фразы.