If the combinations of parameters you're seeing are repeated reasonably often, and/or if the NULLs are the "obviously normal default choice" (whatever the heck that means), then yeah, I think overloading as you describe is a very good approach.
On the other hand, making overloaded functions for exceptional cases probably just leads to cluttering the code unnecessarily.
I don't think there's a single, fits-all-cases answer here. It's a judgement call, so do what you think is more straightforward and more readable for the individual cases you're looking at.