Is this reasonable? Or is there some reason why this should not be done? The automatic parsing of key-strings like this seems to be the direction that the top user level binding commands are moving in Emacs (e.g. keymap-set).
Here is a prototype that I made (it could surely be improved and refined).
(defmacro evil-bind-key (state keymap key def &rest bindings)
"Like `evil-define-key' but automatically wraps KEY as (kbd KEY)."
`(evil-define-key ,state ,keymap (kbd ,key) ,def
,@(cl-loop for (k d) on bindings by #'cddr while def
collect `(kbd ,k)
collect d)))
With this (nonsensical example), the following works.
(evil-bind-key 'normal emacs-lisp-mode
"M-." '+
"M-." '-)
;; Expands to
(evil-define-key 'normal emacs-lisp-mode
(kbd "M-.") '+ (kbd "M-.") '-)