Project Search by “All” does go through comments and footnotes as well, and Project Searches can be saved using the magnifying glass into a Collection tab. What you need to do, to make this technique more effective, is codify your keywords if they are like normal words, and then include the codification as part of the search. For example, if I have a note attached to some text because it requires further research, I can add a comment to that range, and then type in “RSRCH //” I might put some thoughts after the slashes if there is something to illuminate in the original text that might not be obvious in the future; that part is optional. Now I can use project search to look for that string, save it to a tab, and always have every document that needs further research collected for me. When I am done with the comment, I can either remove it or change the codification so that it no longer matches—to a “done” state you could say, like “RSRCH #”. Naturally, this technique works for inline annotations as well (which is what I prefer for this sort of thing).
The main disadvantage to this technique is that it does not build anywhere a list of used terms. It is a solution that takes advantage of string searching; not a dedicate feature like Keywords. You probably wouldn’t want to have hundreds of saved search tabs, and setting one up each time you use a new code (after checking to make sure you haven’t already done so) would be labour intensive.
Perhaps AppleScript in the future will help with this task. If you could run a script that looked for " //" in a comment and then added a keyword for whatever string precedes the match, creating one if necessary, then you could run this AppleScript periodically when it came time to start consulting lists.