Nice idea. This same issue with "var" arose when we first started
allowing header arguments to be specified inside subtree properties.
I've just implemented your suggestion so the following are now possible.
#+PROPERTY: var foo=1, bar=2
#+PROPERTY: cache yes
#+begin_src emacs-lisp
(+ foo bar)
#+end_src
#+results[be32e67491d4e92f75769aebe423c20ca01626fe]:
: 3
and
#+begin_src emacs-lisp :var foo="this", bar="that"
(concat foo " " bar)
#+end_src
#+results[3cde077efa81f1ca24a62ac264dbd5776b6e0054]:
: this that
Thanks for the suggestion and I hope the above is a sufficient
replacement for the now-missing #+BABEL: syntax.
Cheers -- Eric