You could surely use a GIS for that, but since you are coming from a database background I would suggest you look into PostgreSQL with a PostGIS extension. That would enable you to use all of the usual SQL plus a good amount of functions that are solely related to spatial data. Depending on how complex your client's queries would be that would surely be a better option than any "real" GIS. Since you have a good understanding of databases it would also most likely be the easiest for you to set up for your client.
Would your client desire to also visualize the results then you could hook up PostgreSQL to a GIS software, like QGIS. QGIS is open source, you can download it for free, and it is very easy to set up a connection to PostgreSQL. I actually showed how to do that in an earlier post today.