Agreed that this is a database problem.
My recommendation would be to use an open source database like postgres (or mysql if you like pain), combined with a cgi web interface. All those things are free and fully supported under OS X. Using cgi for the interface gives all sorts of interesting options for access that a regular program wouldn't allow.
Of course, what I've suggested is far from an off-the-shelf solution. But from your description of the problem, I'd say an experienced developer could bang out a prototype in just a couple of days.