>>256
お望みのままに処理すると
(eval (car (read-from-string (concat "?\\x" (number-to-string 20)))))

こうかな? マクロにすると

(defmacro my-dec-to-hex (num)
(car (read-from-string (concat "?\\x" (number-to-string num)))))

こんな感じ。でも ?\x20 を評価して 32 になるのは FSF の場合であって
XEmacs だとダメです。 それに read-from-string とか使っててダサいな。
誰かまともなの示して。