デリゲートを渡せばいいのでは
int[] ary = [1,5,9,13,18,23];
int n = 10;
bool f(int a, int b) { return abs(n-a) < abs(n-b); }
sort!f(ary);
writeln(ary);