Pairwise grouping of elements of a list
Much too complicated. Use MAPCAR:

(defun group-pairwise (numbers)
  "Returns a list with the elements of NUMBERS grouped in pairs."
  (mapcar #'list numbers (rest numbers)))


Similar:

(defun generate-graph-of-digits (numbers graph)
  (mapc (lambda (a b)
          (add-edge-between-vertexes graph a b))
        numbers
        (rest numbers)))


Such primitive recursion can be replaced with mapping functions. Bonus: mapping functions are not limited by recursion stack.

Style

Also:

(append (list (list a b)) some-list)


is

(cons (list a b) some-list)


Then:

(cond (a (progn b c d))
      ((evenp n) (progn o p q))
      (t (progn e f g)))


is:

(cond (a b c d)
      ((evenp n) o p q)
      (t e f g))


Each cond clause accepts any number of Lisp forms after the condition.