First, you do not need to insert operators case. Just use one case:
select (CASE WHEN A IS NULL AND B IN ('C', 'D') THEN NULL
WHEN A IS NULL AND X NOT IN ('C','D') THEN Z
WHEN A IS NOT NULL THEN SOMETHING_ELSE
END) as Result
Note that when A IS NULL, but the first two conditions are not met, the return value will be NULL.
Since operators caseare evaluated sequentially, it is easier to write as:
select (CASE WHEN A IS NOT NULL THEN SOMETHING_ELSE
WHEN B IN ('C', 'D') THEN NULL
WHEN X NOT IN ('C', 'D') THEN Z
END) as Result
, A NULL. , , A NULL.