The 18B20 datasheet says that the sink current for logic low, IL, is 4 mA at VI/O = 0.4 V. So when the power supply is 5.0 V, I think you should be able to get away with a pullup resistor as low as 1k2. The lower the value of the pullup resistor, the faster the rise time of the open-drain output of the 18B20 should be. Also, the characteristic impedance of CAT 5 cable is 100 Ohms, so you get a somewhat better impedance match for the high state with a 1k2 resistor than you do with a 4k7 resistor, esp. with the resistor at the far end. Interestingly, the 18B20 datasheet shows that the output FET is a 100 Ohm MOSFET (see Figure 10), so it looks like it is matched to the cable impedance, at least for driving the output low.
For others reading this, I think the minimum pullup resistor for a single OneWire signal is about 1k2, but I haven't tested this to see if it will work. If you have cables from the Arduino board to several sensors, wired in a hub-and-spoke configuration, with the Arduino at the hub and with pullup resistors to 5V at the far end of each spoke, the minimum equivalent parallel resistance should be 1k2. You can also put it at the Arduino end, but that might not work as well. You could also have a resistor at each end of the cable (assuming you send 5V to the far end), in which case the minimum equivalent parallel resistance is still 1k2.
The weak link in pulling down the data line seems to be the 18B20--it looks like the ATmega328 can sink about 14 mA at 0.4 V at 85 C (Figure 29-304 in the ATmega48A/48PA/88A/88PA/168A/168PA/328/328 datasheet) vs 4 mA for the 18B20.
Note that the lower the pullup resistor value, the more current the 18B20 has to sink when driving the line low, which will increase its power dissipation slightly, resulting in a little more self-heating.
But maybe I'm over-analyzing :-? All that having been said, the important thing is that it works, and it's been a fun project!