I'm assuming from the comments above that we're now planning to implement multi-language support through the toolchain now...I'm really not sure this is wise, since some languages will require additional steps beyond a single-step compile, or possibly a rearrangement of a multi-step compile sprinkled through several phases. No, Jason, I don't have concrete examples...but I strongly suspect that's because I've stopped working with the project that required me to orchestrate Make-ish builds with Maven. I think adapting the Java lifecycle using toolchain is a bit simplistic, if that's what we're attempting here.
Beyond all that, I'd say we definitely need to provide for more than just plugins gaining access to the toolchain in use. For one thing, I can see it being useful to determine an alternative artifact resolver (or set of resolvers, or even derivative repository URLs) based on the language being used. In addition, I can easily see Wagon implementations looking at the toolchain to decide between a pure-java version of scp and one on the filesystem somewhere...that belongs here (it could be used in many places within the build: SCM, resolution, deployment...).