Having large groups of people or tasks is my primary reason for choosing OF over Things after trying both and not the other way around...
There are, it seems, two strategies for your issue: 1) Searching for people or 2) Using context groups.
Before you try the first one, I would recommend to consider context groups. For people management, I have two groups: @waiting for (on hold, for tasks assigned to others) and @people (for tasks that can be done face to face, chat, email, phone, Facebook etc. etc.) These two groups have their own respective perspectives. Then, John will appear in two contexts, of course, but this I find safer than searching as misspelled names are avoided this way. This strategy is also brilliant for other groups, like @Mac : Home and @Mac : work. If I only need my Macbook, @Mac suffices, but if a secondary premise occurs, I can specify. Likewise, I will not bother to create a specific "@people : (name)" context before I am certain that the person will be frequently appearing in my workflow. In those cases I am more likely to use @call or @email (no names).
In my workflow I always consult my @people contexts before calling or mailing collaborators, whereas vendors and the like will not appear there at all, normally. Yes, I do have many contexts, but I find that certainly more manageable than having to think through possible tags to add to a task. But it must be stressed that this approach requires an active use of perspectives.
I could elaborate more, but I think the guru of this approach was whpalmer4, you could do a search for his posts (thanks for a lot of useful input, Bill!)
Good luck, anyway!