Вы можете повторить условие CASE
снова в предложении ON
, например:
SELECT
(CASE
WHEN(c.from_user=144) THEN c.to_user
ELSE c.from_user
END) as chatted_to
FROM `chat_message` `c`
LEFT JOIN `user`
ON
(CASE
WHEN(c.from_user=144) THEN c.to_user
ELSE c.from_user
END) = user.id
WHERE (`to_user`=144) OR (`from_user`=144)
GROUP BY `chatted_to`