Hello dear Cycles team and developers :)
I've been working in an archiviz project and stumbled upon a short come of Cycles: we don't have a straightforward way of setting world-based-dimensioned textures . This is a must for architecture, and I can give a few real-world use cases if requested.
As a Blender user I came up with a node system that can handle this. You can check my approach here: http://www.dalaifelinto.com/?p=1198. Basically what this does it to take the Object texture coordinate and transform it based on the face normal (so we have an unstretched mapping for X, Y and Z).
As a Blender/Cycles developer I think we can do even better, and have this feature into master once we agree on the design and approach for the implementation.
I wonder why this never came up before as an issue. As a side note, if you read the Expose 3D Blender migration post on BlenderNation (http://www.blendernation.com/2016/06/21/story-expose-3d-established-3d-visualization-company-switch-blender-entirely/) you will find that they consider the "Lack of architectural UV mapping" as the number one "flaw" of Cycles rendering.
My initial suggestion would be to have a Node where you could control (via socket input) the offset, scale and rotation of the texture. At first I would like to keep it simple and have offset to be a Vector(2), Scale to be a Vector(2), and Rotation to be a Float. In other words, I wouldn't bother with having per-axis nitty-gritty control. Also, the object size should NOT affect the texture size (unlike my original approach, or even the one from the "Sure UVW mapping” addon used by the Expose 3D team). I'm not sure if this last bit is possible though.