If you have NOT NULL constraint on columns, then you will not be able to insert NULL values to the column. If your requirement is to insert NULL values to the column, then whats the reason to have NOT NULL constraint on the column??
What i suggest is, just drop the NOT NULL constraint on the column, but keep the DEFAULT value.
But i dont think its possible to insert NULL value in a NOT NULL column in anyway...
If the column is supposed to be a mandatory one, I think it is normal to expect raising the not null constraint while inserting null into it.
However, perhaps you could try to "intercept" raising that constraint using a database trigger. You might be happy with it. But, I also think you'll run into another Oracle "trap" - mutating table. Such a problem can be solved using PL/SQL tables.
If you think it could help, do some research - there are examples on the Internet showing how to deal with such things.