so if you are able to do pair-wise distance calculation on your data, then you can certainly cluster your data with, for instance, k-means, which is based entirely on pair-wide distance calculation (though between each data point and a group of composite data point (aka centroids)
if you are not familiar with k-means, it works like so:
choose N, an integer value that represents the number of centroids,
cluster centers (some refinements to the basic algorithm include a
step to calculate the optimum number of centroids, eg, k-means plus)
select N data points at random; these are your centroids at t=0
(iteration 1)
for each remaining data point, calculate the pairwise distance from
each of the N centroids; the centroid that give the smallest value
(the centroid the point is closest to) is the centroid that data
point is assigned to for iteration 1
now your data is partitioned into N groups; for each group of data
points, calculate a single mean data point--these N points are the
new centroids at iteration 2
repeat the step above until some stopping criteria is reached (eg,
less than one percent mean diff between the centroids in two
consecutive iterations)