Nice requirement ...
Not possible out of the box, by default OBIEE doesn't hide columns at all, even if empty.
In this case how is OBIEE supposed to know if the column contains only NULL? It's a row by row check ...
If you remove the header of your column it will be really small, so it's not going to take too much space.
You can of course implement workarounds to try to simulate that kind of behaviour but it will be not simple to do and maintain with possible side effects (like replacing your column by one which is hidden after making the check if all the values are null, and this one can be something like counting all rows and comparing with the number of rows with the null etc.).
This is not going to happen out of the box. But here is a suggestion (Disclaimer: Have not tried it myself and hence not completely sure if it is feasible)
If this is a dashboard report, I would create two versions of the report, one with all the columns and the other with just the three columns. Then I would create a third report that will have a column that can indicate if the two columns have completely null values or not. Based on this third report you can conditionally show the version of the report (i.e report with all columns or just 3 columns) in the dashboard.
Just to add to Gianni and Thomas:
Knowing that something is NULL or 'null' or '' or 0 or whatever is very, VERY important from an analytical point of view.
Is the data correct? Should it be null/empty/whatever? Etc