I don't believe this is possible, alas. Setting
org-refile-targets to something like
((nil . (:maxlevel . 5))) will make sure you're only offered targets from the original buffer, but both the indirect buffer and the narrowed view source their completion headings from the source buffer, alas.
If you haven't already changed the value of
org-refile-targets, then the configuration I mention above will be very much like the default of
((nil . (:level . 1))).
My best suggestion, frankly, is
helm -- perhaps you are already using it? With helm fuzzy-matching, I find it very fast to narrow my subtree selection to a given path, even with a large number of large subtrees available.