How to add textures to faces that are facing a certain direction
In Cycles you can make a node setup like this:



What's happening is the Geometry node is providing the object's normal data (information about the directions its faces are pointing) in the form of color values. The Separate XYZ node is taking that all in but only returning the values for the Z axis (up and down). That data is then being used to factor between the red and blue.

In this example the factor is mixing two shader nodes, but it could just as easily be color nodes or any node that can receive a factor input.

If you wanted to change the direction you could use X or Y outputs instead of Z.