The Easy Way - as stated, just do it. Move ahead using a tool you understand which is probably not the best tool for the job, get paid, and potentially leave them in a crappy situation. This is how the majority of freelance web developers behave.
The Hard Way - take a step back and forget Wordpress. If you actually want to provide good solutions for your clients, you'll need to actually listen to their needs. Hopefully your skill set is wide enough that you can do this while still doing the actual work for them. You've already recognized using a canned solution is going to behave how they want, but it doesn't meet all of their requirements.
Ask them why they need database access. Most people will ask for things because they are nosey, not because it provides any actual business value to them. If it does, then you're going to need to invest a lot more time and energy into a solution which may end up costing 10x more. If they realize that, it'll either shut them up, give you much more interesting work, or they'll find somebody else to do it for them the easy way. They still lose, but at least that loss isn't your fault anymore.
If you manage to keep them and continue with proper planning, then it really opens up the discussion. For instance... Do they need database access to interface with other applications? Open up an API instead. Not only does this change your data model, but perhaps it adds complexity to your architecture as well.
As a few others have hinted at... always make sure you cover your ass as well. If you give them data access, make sure you are each accountable for your actions independently. Perhaps you hand off an application and they deal with the database. You can easily prove they changed something from your latest release to them. Or, you activate some sort of logging to track them. Or better yet, you give them limited access so they can't screw anything up.