...although in the meantime you might want to try the Face Path Split MEL script on this site. It's sort of like a single-direction subdivide. Works well and has saved me lots of tedious poly splitting by hand.
I think the problem with making subdivide controllable in a single direction is due to the arbitrary nature of polygon topology. It's easy with NURBS since you're not allowed such things as Y-junctions in a single surface, but with poly's pretty much anything goes. It's one thing saying 'I'd like all poly's to be divided horizontally please', but how is the code to interpret this when it encounters something like six poly's all sharing a single vertex in the middle? It's a tricky question and not easily solved at anything beyond a local level. And that's how the MEL script works. Which is where I came in...
Anyway, just thinking aloud.