...I tell them I can create a system of tables that allows each client to define their own set of custom fields, but of course that takes more time and money....
Looks like you want to build some kind of generic data model? Entity-attribute-value...?
Those generic models are often real slow, they can't be indexed properly and confuse the query optimizer. It is often better to just add some columns.
Do some very thorough benchmarking before going the generic road.
Maybe it is db vendor dependent but if you use Oracle, I would prefer the 'just add some columns' road above the entity-attribute-value-road.