pantsman,
Welcome to the forum!
Simple question...complicated answer.
You are correct in that there are a "bunch" as you put it, different codes that do a search for a topic response.
Hal's XTF brain uses a VB command called InStr. InStr returns the position of the first occurrence of one string within another.
In my Hal's brain there are 52,519 words and 338 occurrences of the command InStr. So you see, there is a whole lot of searching going on! Though the code may seem the same as far as the InSrt command is concerned, it is actually doing the processing of and for each user input and when it finds an appropriate match, it then calls it's response. The brain also writes a small file in the directory that corresponds to your topic (in case Hal hasn't experienced it before).
In answer to your second question: There are 55 occurrences contained in 11 different filenames in the Defbrain directory that have to do with the question(s): Who created you...who made you...who is your creator, who programmed you...etc., etc.
Some are found in the XTF_SYS_Enhanced_Main.brn file.
Robert E. Medeksza is the name you'll find. After all, he is Hal's creator!
Hope this helps.