USB Specifications for PCB design.
Not unless one side is an OTG type port that can serve either role. This is usually an "AB" type connector only.
The pull up is apparently attached to a 3.3V supply.
Long cables can be a problem, especially in marginal USB implementations. It's not strictly cable resistance that is the enemy though. Loss is a function of several factors, but the characteristic impedance of the cable should be \$90\Omega\$ differential. The terminator matches this value to prevent reflections in the cable.
Here is an example schematic of the Discovery board. They use \$22\Omega\$ resistors. The Rs termination is occasionally internal to the chip, but that doesn't appear to be the case here. Sometimes it's best to just copy what you find, especially when you know it works!
USB hardware seems to always be clocked at 48MHz. Perhaps something in the transceiver needs to happen 4x faster than the data lines, but it is very common. It is also common to derive this from a PLL from a lower speed clock, but I don't know if that's an option here. You need to pay attention to the accuracy and drift specifications of the oscillator to make sure that it will work well under all operating conditions.