If you can't rearrange things so that the IS NULL argument is seen as a constant, the UNION trick that Pavel mentioned might be a useful workaround. But I'm inclined to think that you need to take two steps back and figure out whether this query logic is really sane or not. You do realize that the query is asking to retrieve the entire table, if whatever-it-is is NULL? Why would that be what you want?
It is a pretty common tactic to do this. It much easier on the client side to bind NULL to a parameter when you don't care, rather than dynamically rewrite the query text to remove that condition from it. Of course that whole thing is likely to be ANDed together with other clauses in an unsimplified real-world example.