If you have two CLLocations, you can use the distanceFromLocation:
method to get the distance in meters between them.
Example:
CLLocation* first = [[CLLocation alloc] initWithLatitude:firstLatitude longitude:firstLongitude];
CLLocation* second = [[CLLocation alloc] initWithLatitude:secondLatitude longitude:secondLongitude];
CGFloat distance = [first distanceFromLocation:second];
You can get the latitude and longitude of your annotation (not your annotation view) from its coordinate
or similar property on your annotation class.
If you have a list of annotations and want to get the distance of a path between them, simply:
CGFloat distance = 0;
for(int idx = 0; idx < [mapView.annotations count] - 1; ++idx) {
CLLocationCoordinate2D firstCoord = [mapView.annotations[idx] coordinate];
CLLocationCoordinate2D secondCoord = [mapView.annotations[idx + 1] coordinate];
CLLocation* first = [[CLLocation alloc] initWithLatitude:firstCoord.latitude longitude:secondCoord.latitude];
CLLocation* second = [[CLLocation alloc] initWithLatitude:secondCoord.latitude longitude:secondCoord.longitude];
distance += [first distanceFromLocation:second];
}