The first two questions can be answered by the datasheet. In some cases you can enable pull-up with the pin an output. If push-pull that does nothing but waste power when the output is low, but if it's open-drain it can be useful.
When the pin is open drain it is acting as an output, so that's what you want to enable. In processors without open-drain option it is sometimes simulated by switching between input (output high) and output (output low) with the port latch bit always low.
If you use an external pull-up you generally want to disable the internal pull-up since the tolerance is usually pretty poor on the internal pull-up, also it sets a upper limit for the total parallel resistance. In special situations, like where there are connectors that could remove the external pull-up you can enable the internal one if you like, there is no problem.