There is a typo in the Atmel datasheet, the rise time for the 100kHz case should be 1000ns, not 100ns (it would not need to be lower than the 400kHz case of 300ns) then you get:
\$\dfrac{1us}{400pF} = 2.5k\Omega \$; for the 100kHz case
The LCD datasheet (almost certainly) means the maximum bus capacitance, not the capacitance that it adds to the bus. It probably adds around 10pF. You can either check with an LCR meter or just set it up with a 2k resistor and look at the rise times.
Many devices don't fully comply with the official 400kHz specs, so it's best to refer to these for understanding the conditions under which 400kHz can work (bus capacitance, pullup/current source/etc) See section 6 onwards in particular (for example see note 4 on pg.47:
[4] In order to drive full bus load at 400 kHz, 6 mA IOL is required at 0.6 V VOL. Parts not meeting this specification can still function, but not at 400 kHz and 400 pF)
Further on, these tables are pretty helpful, and look to agree with your calculations:
Seems like just a line omission from the datasheet. On the Pin Description section of Page 6
Pin 5- SDA:
Serial Data Input/Output. SDA is the data input/output for the I2C serial interface. The SDA pin is open drain and requires an external pullup resistor. The pullup voltage can be up to 5.5V regardless of the voltage on VCC.
Pin 6- SCL:
Serial Clock Input. SCL is the clock input for the I2C interface and is used to synchronize data movement on the serial interface. The pullup voltage can be up to 5.5V regardless of the voltage on VCC.
It seems to just skip a line stating that the pin is open drain and requires the external pull up, but then adds the same line afterwards, stating the pull up value. Looking at older versions of the datasheet, back when Maxim Integrated was Maxim-Dallas and even just Dallas Semi, the omission has always been there.
That said, the typical wiring diagram has always been correct, showing the pull up needed on both i2c lines, as the i2c standard requires.
As for the SQW/Out pin, the Pull Up is only required if you are using the line. It can be disabled in the rtc's settings (Or should I say, comes disabled, needs to be turned on). Having a pull up resistor on the line, when you are not going to use it, will waste energy, needlessly draining a battery (Slowly) in battery applications. As the datasheet says, this can be left floating, i.e. no pull up, if not needed. The Adafruit device breaks it out for your convenience if you do want to use it, but you need to add the pull up externally if you want to (or use the Arduino's internal pull-up option)
Best Answer
I2C needs pull-ups because it is a bi-directional open-drain bus.
The datasheet contains a link to TI application note SLVA689 how to calculate the pull-up resistance value, if your system does not already have pull-ups on the I2C bus. The same information is in the I2C specification as well. Nevertheless it is a good idea to double-check that the pull-up resistance values are suitable for your target speed and bus capacitance, and to which voltage the pull-up resistors are connected.
Regarding the reset pin, the datasheet also says that if it is left unused then connect a pull-up resistor. It does not mention anything else, so it would be safe to assume that direct connection to supply voltage is not recommended. However, you should carefully consider if you really want to leave it unused to begin with, especially if you are not sure if your system can provide the required power supply rise and fall times for the power on reset to work.
Also, if your MCU resets there is a glitch during an ongoing I2C communication and the bus data pin is held low by the keyboard scanner chip as it is sending out data, the MCU usually can't continue communication unless the bus is manually brought up to idle state again. So usually you do want to use the reset pin.