Selecting the nearest of overlapping faces
Unless I'm missing something isn't this just because you are in wireframe view mode? 

Press Z to go into solid view then make sure Limit Selection to Visible is enabled in the 3D view header as shown below:



Now your model will appear solid and you will be able to select whichever face is directly visible to you in the view i.e. you won't be able to select faces that are behind other faces.