K Means Cluster with Specified Intra Cluster Distance
I think this method would work:

Run KMeans.
Mark all clusters exceeding intracluster distance threshold.
For each marked cluster, run KMeans for K=2 on the cluster's data.
Repeat 2, until no clusters are marked.

Each cluster is split in two, until the intra cluster distance is not violated.
Another option:

Run KMeans.
If any clusters exceed intracluster distance threshold, increase K and repeat 1.
I often come across a situation where I have bunch of different addresses (input data in Lat Long) mapped all over the city. What i need to do is use cluster these locations in a way that allows me to specify "maximum distance netween any two points within a cluster". In other words, specify maximum intra-cluster distance. For example, to cluster all my individual points in a way that -- maximum distance between any two points within a cluster is 1.5KM.