パチュDの人ありがとうございます。
でも実は本当にやりたいのは10がローカル変数だったりする場合なのです。

int[] ary = [1,5,9,13,18,23];
int Num = 10;
sort!q{abs(Num-a) < abs(Num-b)}(ary);
writeln(ary);

とすると

Error: static assert "Invalid predicate passed to sort: abs(Num-a) < abs(Num-b)"
instantiated from here: sort!("abs(Num-a) < abs(Num-b)",cast(SwapStrategy)0,int[])

なエラーになってしまいます。
これをC++でのbindみたいに何とかすることはできませんでしょうか。