I'm implementing an I2C connection between a PIC18F4550 and an external eeprom memory. I know that an internal pull up resistor won't work, and that's why I am going to use an external one. However, I am using in the same port the last 4 pins to interface with a matrix keypad, and for that I have to enable the internal pull-ups for the whole port(this microcontroller doesn't offer the option to enable just for the ones you wnat). Will the internal pull-up affect in any way the connection even though I'm using an external resistor?
It will create a parallel connection of the internal and the external pull-up resistor. Taking into account weak pull-up current stated in controller's datasheet, the internal one is between 12-100 kOhms.
Generally the result depends on the value of the external resistor, calculate it for the chosen value and and both edge cases of the internal one, here's some info on the I2C resistor vs speed: http://www.ti.com/lit/an/slva689/slva689.pdf (consider the one described as the parallel connection of the two aforementioned)
From my experience: it shouldn't be a big problem, if you choose a rather small value external resistor. Generally less that 2kOhms vs 100kOhms might be simply considered 2000kOhms. This rounding is of course less true for 12kOhms.
The more general rule is: the bigger the resulting resistor is, the smaller currents flow, resulting in slower parasitic capacitance being recharged and thus limiting the connection speed. If you'd like to acquire some more knowledge on that, google for RC circuit impulse/step response, low pass passive RC filter and related topics.
Good luck with your design!