1) the output voltage will be a function of how much current the output must conduct, which is of course dependent on the load resistance. If the load resistance is extremely high (which would be the case if you are driving CMOS logic) then the output will be 4.9V when high and 0.1 volts when low. So it would be compatible with the CMOS. To determine the actual output voltage, refer to the LM311 data sheet graph called "Output Saturation Voltage". This graph shows how much voltage is dropped at the output (compared to either 0V if output is low or Vsupply if output is high) inside the LM311 with different amounts of output current.
2) The output will become very close to 5V (perhaps 4.9V).
3) see the LM311 data sheet, a graph for the LM311 called "transfer function". It shows the output vs input and shows that the difference between input and output should be greater than 0.2mV to saturate the output correctly. However, this value is much smaller than the offset voltage specification, so I will assume that this is achieved after applying offset correction as shown in the Typical Applications diagram called Offset Balancing. Without correcting the offset, the difference may have to be as much as 7.7 mV.