There's been some discussion lately about how to improve XUL templates. I just added some comments about this.
Some proposals include using an SQL-like language which generates results. This is suitable for database-backed data, and a query language for RDF is being developed. Others talk about using XSLT since it's already an established template language, although it would only work using XML. Another option is to simply improve upon the existing template system by adding support for conditions, better scripting, and so forth.
For my purposes, I had created ReoPath, which is more closely related to XAML or Flex databinding than any other possibilities. Currently, its design is fairly simple and lacks some features such as recursion, although the eventual goal is to have a number of additional features to do rules, updates based on events, as well as use a better binding syntax.
Despite some progress, I think that everybody has very different ideas about what direction templates and databinding in XUL should be headed towards, so it may be difficult to create something that is easy to use, easy to learn, allows lots of features and is efficient.