"From a timeline standpoint, what I'm seeing here is that we should first design and implement a simple scripting language, then leverage that language to implement a build system."
Even a simple imperative language with a few domain specific primitives (added as an extension or something) would be a heck of a lot more useful than... whatever insane hybrid you'd call a "makefile".
"Let's open up the floor to general commentary on the scripting language idea for 24 hours."
Here or elsewhere? Eh, how about a "friendly" Ada2k7? ^_^
A more serious offering/suggestion, build tools are usually (always?) built from one aspect of parallel processing or the other so I'd say you'd need to support automic operations for objects directly. (As opposed to simply exposing an API for read/write locks and letting the use deal with it themselves.)