ややこしい話になってるけど、
ま、とにかく、辞書をソートして良いのなら、
look.plやSearch::Dictを参考にバイナリサーチを書けばそこそこの
スピードのものが簡単に出来るんじゃないか?

DB_Fileは、使用中にデータが変更されるのでなければ
大げさすぎだろ。