How to render world-space surface Normal maps using Blender Internal?
Create a "Normals" material using nodes:


Apply it to all objects. The Material Override option in Properties > Render Layers may be useful for this, but if you want to preserve transparency of existing materials you may have to tweak every material individually, ideally with python scripting: 

I'd suggest making a node group containing the geometry node (so future tweaking is easier), connecting that group's output to the Color input of every material's output node, and setting the Alpha according to however you decide a material is transparent or not.  Here is an example of some node scripting, hopefully that helps.
Enable World Space Shading in Properties > Shading:




Render: