Hmm. I agree that it does seem an interesting idea, though I don't think there's really much (or anything) new in it. It's definitely a useful approach though. I think what he's talking about is something like this...
Suppose you're writing programs to draw graphics on the screen (or whatever). You can do this using a series of drawing primitives in some imperative language (eg perl!) and it'll work fine. At some point though you might get bored with this and decide that, anyway, you don't want the actual pictures drawn to be hard coded into your program...
So you decide to create a language to represent graphics. Perhaps you call it SVG (scalable vector graphics). In the abstract this consists of a tree structure with bits representing shapes and stuff. You can write this tree down using some concrete syntax - XML perhaps. If you're motivated you might specify the language in some schema, like a DTD, so that others can write to your specification.
Then you need to implement an interpreter or compiler for that language, so that these pictures can be drawn (rendered).
Now, although describing graphics in this new, domain specific, language might be easier, you might soon get bored of that and decide to make a graphical editor for SVG (call it Sodipodi, say). Now it's much easier.
By now it's not only programmers who can write these graphics programs - people in the art dept can too. I think this would be what Simonyi means by an intentional editor. There are many other examples of these domain specific languages (XSLT, DTDs and other Schema languages, YACC, GUI definition languages etc) and many of them have 'intentional' editors.
I'd certainly agree that this approach of defining a DSL and making some way of executing/transforming it is a powerful approach. It isn't something that happens that often though (despite the above examples). Except, of course if you program in Lisp...
Lisp makes defining DSLs trivial. In the above example we could use SVG, but notated in Lisp S-exps instead of XML (or even write a Lisp reader which reads XML as s-exps) then define macros to transform the SVG into executable code (probably!). What you don't tend to get in Lisp (AFAIK) are DSL definitions (DTDs) or intentional editors. It would be very handy if you did though, and would certainly allow non lisp programmers to edit certain things. Good editors for Lisp do make it much easier to manipulate source code as a tree structure rather than a string of characters though. Viewing multiple projections would be nice too, especially if there was an easy way of defining these projections. Schema designing programs sometimes do that (I think) - eg XML Schema. Imagine if any equations in your source code could be rendered as nice mathematical equations a'la TeX.
As to storing source code in a versioned syntax tree database, well it seems to me that a text file is as good a database as any for source trees, and versioning can easily be achieved using standard tools.
Interestingly I have read that the 'syntax' of Lisp (such as it is) was only intended to be an abstract syntax (by John McCarthy) until someone got around to writing a concrete syntax for the language. The 'intentional' solution to this would seem to be to provide several different concrete syntaxes (or 'projections') of the code (or DSLs of the code). Maybe one day I'll look into rendering Lisp code in different ways.