How to replace a CLOB column by a varchar2(4000) column?
I would suggest adding a temp column rather than renaming the existing one. In Oracle 10g I created a test table:

CREATE TABLE  "TEST" 
   (    "A" CLOB
   )


I then inserted data so that the results of length calls are as follows:

select length(a) from test


Result:

"LENGTH(A)"
12308
12308
12308
12308
12308


I then altered the table as follows:

alter table "TEST" modify
("A" VARCHAR2(4000) NOT NULL)
/   


As expected receive the following error:
ORA-22859: invalid modification of columns

Change the column using the following script:

ALTER TABLE TEST ADD temp VARCHAR2(4000);
UPDATE TEST
   SET temp = DBMS_LOB.SUBSTR (a, 4000),
       a = NULL;

ALTER TABLE TEST DROP COLUMN A;
ALTER TABLE TEST RENAME COLUMN temp TO A;


Reissue the length sql:

"LENGTH(A)"
4000
4000
4000
4000
4000