This is a lot simpler than you are all making it out to be. A normal map can be easily generated from a grey scale heightmap.. just make your greyscale map and use the bmap_to_normal function to convert it. Alternatively you can use a bumpmap to normal map converter.. these progs are available on the internet.
So... You can use normal mapping on level geo with the current beta, if you make a diffferent map for each direction a wall faces? What about other shaders, toon etc? Does using shaders on level geo only apply to normal mapping?