hmm. here's a shot in the dark. might require relatively simple surface. this is crude, the are much more sophisticated ways. research metric or distance for 3D shapes.
(1) In a 3D modeling tool, fit a simplified (curvature never too small) convex dummy surface to a typical data surface. Shrink it maybe 50% in a 3D tool, so it is always "inside" the data surfaces. Adjust so it's still convex. Call this shrunken preliminary reference surface R.
(2) Generate list of n evenly spaced points on R, call them vectors A_n. Also generate corresponding vectors N_n normal to R at A_n, and pointing outward. So you have a list of reference "rays" in space originating at A_n, direction N_n. Call these B_n. (note: May be helpful to have more densely spaced points A_n where R has smaller radius of curvature.)
(3) For each of m data set items, call them surfaces S_m: generate vectors C_m,n , defined by the intersection of S_m and B_n. Depending on surfaces you may have to do something to make sure there is only one intersection (eg use the one nearest to A_n looking outward). This is where concave could be an issue. Anyway, you can then use the C_m,n to construct the metric, loosely speaking. The average (or trimmed mean or minimum or whatever) surface, consisting of points D_n can then be constructed from the list C_m,n by simply applying the statistic to the list of |C_m,n| indexed by each n ... you could likewise hopefully use it as a metric.