It does not really make practical sense to allow it. Consider the following trivial example
SQL> create table t ( x int not null, y int not null, z int not null);
Table created.
SQL> insert into t values (1,2,3);
1 row created.
SQL> alter table t set unused column z;
Table altered.
SQL> insert into t values (4,5);
1 row created.
Now I've got a row in there with a null value for what *originally* was my column Z. At which point, resurrecting Z means we're not *really* bringing the column back, because we'd be bringing it back with a alternate definition (ie, nullable). And of course, if in the interim, I've done
"alter table T add Z date"
then the resurrection would have to be as a new column name anyway.
So whilst its perhaps *possible* that the functionality could be done, the need perhaps is minimal. If its important to you, you can always log an enhancement request.