A similar issue was recently reported internally as well. I’ve been digging into how it works and I think it’s just buggy. This is something I’m working on fixing.
Here’s how I think it should work:
1. If it’s impossible to make the length/width consistent (based on the current selection), then it should switch to only allowing “number of subdivisions.” Examples of inconsistent selections are those that include a triangle or those that include all faces touching the corner of a cube.
2. If it is possible to be consistent with the current selection, then to differentiate between “length” and “width” it will try to orient the selection along its longer axis (i.e. if the selection is 3 faces by 2 faces, the “3” is the “long” axis). There’s a tiebreaker rule but it’s based on the underlying surface structure.
3. Rule 2 mainly matters if you have multiple disjoint selections; it’s more likely they’ll be consistent with each other.
I’m actually working on it this week, but it might be a while before I can get it to you. Wish me luck!