I think one of the key things he's missing at the end of this article, where portability across implementations is mentioned, is that bringing more flexible metaprogramming into the language can make portability a whole lot easier. You can define the core of the language as a macro processor and some base functionality, then define everything else on top of it. A new implementation has to build the core, then gets the rest for free. This is common in the Lisp world, but next to nonexistent outside it.
Good point. Actually Alan Kay does mention this on his interview on ACM queue (http://queue.acm.org/detail.cfm?id=1039523) when he says: "and in fact we know how to do it in a meta-way". And this has been the goal of Rubinius guys (Ruby written in Ruby). Somehow, not being "Turtles all the way down" does bother me, but, in pratical terms, it does not affect as much right now.
Clojure is also criticize for not being fully implemented in Clojure, and I think this is a very pragmatic choice. It is always better when it is otherwise, but Jvm is portable enough that clojure does not need to be.