I've been thinking, and concluded it would be nice if Blender could do the modern output several different layers for each render bit, so you could have one layer of diffuse rendering, one for specular, one for ambience etc. It might be possible with Python to alter materials then render but my ideal would be three buttons in the render window . . . .

1. Diffuse, so the output only has the diffuse effect of the materials
2 Specular, so you only have a specular layer
3 Ambient occlusion so it automatically produces the now familiar fake GI ball, and uses the materials Ambient settings as diffuse, neutralises the colour and performs the render.

Of course it would be really neat if it could produce all three kind of at once so it doesn't have to process the whole scene over and over.

One other thing . . . i'd love to be able to have static shadowmaps, like the static envmaps.