I really wouldn't know the answer to your question - didn't test anything like this. But, I would recommend you to use a DATE datatype to store date values. I *guess* it should be faster than 2 and 3. Why? Because those two solutions require some kind of "transformation" function(s) to represent value as you'd like to see it (that is, not "2450815" but "01-jan-98").
Of course, I might be wrong; I'm sure there is someone here who'll know it for sure.
P.S. I had an (Oracle 5) database where date fields were represented as Julian dates (integers). Believe or not, but redesign and use of DATE columns (in Oracle 7) made me feel much better.
Put all three data types into a scratch table, then test them to see which behaves best. Be sure that all three columns are indexed as you'd expect, and that all of the output is formatted as you'd like.