We're starting to have a lot of those algorithms now -- kdevelop has one for quickopen, kate has one for the completion list and now one for quickopen too. Maybe we could determine some shared functionality and put it in KTextEditor for all three places to re-use? We'd just need to discus what functionality that would be.
Apart from that, my experience from kdevelop's quickopen is that arbitrary distance of characters easily yields weird results when applied to longer paths. But maybe that's fixed by your sorting algorithm.
Does kate's quickopen filter all files when you have a project open, or always just open files? In the former case, is the regex approach fast enough?