Running k-means clustering with k = 2 recursively on clusters greater than a certain size Does it make sense to run k-means with k (number of clusters) of 2, and then for every cluster bigger than N, run k-means again with k = 2? We can then keep doing it until we have all clusters of size < N.
Please don't focus on the hyperparameter N, which doesn't have a lot of meaning, but focus on the idea of running k-means multiple times with k = 2.
Could it lead to a better result than running k-means only once with k > 2?
 A: Sure, it could - but only if your dataset has a very specific type of structure. And there's no reason to expect that specific structure to be a common feature of datasets, so I don't expect this would be a generally useful process. 
That doesn't mean that k-means is great by itself; there are many modified versions of the algorithm that have proven to be very useful, including k-means++ (which uses an iterative procedure as well), k-medians, and k-mediods.
You may also be interested in hierarchical-clustering approaches, which are both useful and seem similar in spirit to what you are proposing. 
A: This is roughly the idea of bisecting k-means.
No, the result is almost certainly worse (by SSQ) than that of k-means with the same number of clusters. K-means finds (at least almost) a local optimum. The bisection approach does not, as such optimas are usually not hierarchic (the best k=2 and the best k=3 solution do usually not have a center in common, for example on 2d uniform data).
Why do you think it will be better? By what notion of "better"?
