No, it doesn't have to be 4.7k, the original spec said "about 5k", 4.7k is just a commonly available value in that range. There's an article on driving 1-wire temperature sensors with just the internal resistor on the Arduino (and I can confirm it works on the 1.8k resistor of a Pi too).
Basically, the master (microcontroller) pulls the wire low to ask a slave device to give a readout. The slave waits a predetermined length of time after the master pulls the line low to reply, by also pulling the line low. The master then checks the voltage on the line to determine 0 or 1.
The upper limit
This gives us the upper limit on the resistance that works. It needs to be low enough, given the capacitance of the wires and attached sensors, to bring the voltage on the line high before the host checks the value. For a single device, and a short length of wire, 100k is likely low enough, 50k is low enough for 3 devices and a meter of wire (or thereabouts), or 1 device and 10m of wire. Also, you can cheat and attach a second pin in pull-up mode if you need more power delivery.
That assumes you are running a dedicated power line. Using it in parasitic power mode you have to account for the power draw of the device on the other end, which will require looking at the applicable data sheets.
The Lower Limit
As for the lower limit, there isn't one for restoring the high signal, the moment the line is quiet, it's safe to drive it high. The problem comes if you drive it high while one of the slave devices is trying to "talk", the amps you put in through your pull-up resistor must be drained by the slave, depending on the internal resistance of the slave while it's pulling the line low, and its thermal limits, it will either cook the slave, or fail to pull the signal low. Which failure mode you get, and the minimum safe resistance, can usually be be figured out from the slave device's spec sheet. As a general rule, I usually aim to keep those sorts of components in the <10mA range (assuming they have 0 internal resistance while pulling the line low). This means the minimum resistance you want on your pull-up (assuming 5V drive) is 500Ω. It's likely reasonably safe to go a bit higher, depending on ambient temperature, and how often the slave "talks", but for temperature sensors, you will skew your reading if you feed enough current through the sensor that it warms up.
Leaving the resistor out
If you leave it out and use the internal resistor, you'll be fine with a handful of components on a small circuit. If you leave it out and drive the line high directly, you don't get 0Ω, but you'll get a low enough resistance that you'll at the very least heat things up (the master when it pulls the line low, and whichever slaves try to respond). This almost certainly will shorten the life of your components. If you leave it out and don't connect anything to pull the voltage up, the circuit just won't work.
A note on parasitic power
It's possible to use one-wire devices without a dedicated power wire. Just signal and ground. To do this, the signal wire must be held high enough of the time for the devices attached to fill internal capacitors to allow them to function for the breif periods of time when the data line is pulled low. Of course, this loads the data line and will pull it lower the more devices which are using parasitic power. You can compensate for this by using a lower rated resistor. You can also drive the line high without the resistor, by putting the master's communication pin in voltage output mode. By specification, the slaves only speak after the master speaks to them, and only for a very breif duration. This means it is safe for the master to switch from output mode on the signal pin to input mode and pull it low to tell a slave to respond. Then the pull up resistor will restore the voltage on the data line and the slave will either pull it down in reply, or not. The master must wait until all slaves are done talking before once again driving the line high. This doesn't get you away from needing something for a pull-up resistor, as something needs to pull the line high while the slave is talking. (Well, you could drive the line high from the master by pulsing it, if the microcontroller's clock speed and circuit's capacitance are high enough, but I suspect it would be incredibly fragile with a terrible failure mode).
Shoot, forgot to include the link to the article mentioned above: https://wp.josh.com/2014/06/23/no-external-pull-up-needed-for-ds18b20-temp-sensor/