If your application is setup nicely and has synonyms to your table (rather than connecting directly) then you just need to repoint the synonyms (rather than renaming). Of course, this always begs the question why do you need to re-order the column list – I can’t think of any (good) reasons.

UPDATE As pointed out by Matthias in the comments, there’s the 12c approach: make columns invisiable and visible again: