What will happen if I short 5V/3.3V/Digital pin output directly to ground? Will it damage the board or does the Arduino board have protection against it?
As much current as your 5V source, or your 3.3V regulator, or that digital can source will flow.
5V: that's what you can directly plug in via USB or barrel connector. So, the effect of this will depend on the external power supply/battery pack. But you might damage your board, or your power supply. Don't do this. A lot of current will flow, and things will be dangerously hot. Some Arduino boards have a fuse against this, some don't. Even if yours has a fuse, it will be no fun replacing that.
3.3V: you will force a poor 3.3V power supply into its knees. I don't know of cases where that has actually lead to permanent damage, but that's just luck, probably. Avoid this.
Digital Pin: The different Arduinos are actually mostly built from relatively robust microcontrollerss, but: Microcontrollers have datasheets where the maximum current you may source from a pin is specified, and your exceeding that rating, definitely, if you're shorting to ground. Don't do this.
If the above causes damage to the board or is bad practice, can I put a resistor between the power and ground to fix it? If so, how many ohms should the resistor be?
Yes, because remember: V=I·R, so I = V/R, so the more resistance, the smaller the current that flows.
Your question, however, makes no sense: There's no point in connecting power -> resistor -> ground, unless you want to build an electrical heater. So, the optimal answer would be "the resistance should be infinite, i.e. don't do that connection at all".
What you, often, however need is some pull down resistor or voltage divider or such to ground, because you want to do something with the output of a digital pin. Without knowing what that doing is we can't possibly tell you what the right resistor would be!