If you're only interested in number of days and the dates in question don't go through any historical calendar changes, you could use
AbsoluteTime to convert to seconds between and then convert seconds to days:
In[11]:= DateDifference[{2011, 1, 19}, {2011, 1, 18}]
Out[11]= -1
In[12]:= Timing[Do[DateDifference[{2011, 1, 19}, {2011, 1, 18}], {1000}];]
Out[12]= {2.074813, Null}
In[13]:= newDateDiff[d1_, d2_]:= Round[(AbsoluteTime[d2] - AbsoluteTime[d1])/(24*60*60)]
In[14]:= newDateDiff[{2011, 1, 19}, {2011, 1, 18}]
Out[14]= -1
In[15]:= Timing[Do[newDateDiff[{2011, 1, 19}, {2011, 1, 18}], {1000}];]
Out[15]= {0.015600, Null}