C++のsort()で、比較関数の内部にローマ字→カタカナもしくはひらがな
変換処理を内蔵すれば、そのままソートできそう。
ただし激しく遅くなりそうだが。処理件数が少ないならこの方法がお勧め。