ATmega2560 (Arduino mega 2560) Maximum practical frequency

What is a maximum practical frequency of ATmega2560? I know that datasheet says it is 20mhz, but is the practical limit, aka, what is the maximum frequency i can use, that will still work somewhat stable, based on real life tests, not datasheet? Or is datasheet's frquency is the highes possible? Also,does changing crystal oscillator affect how serial port bitrates and timers work? or are they fixed independently of main MCU?

No, the datasheet says 16MHz.
You mean overclocking, right? Hard to say what is the maximum. There a few people which tested such option and I think, it was something around 30MHz.
And of course, it affects many system things.
Personally, I have tested ATmega1284P. Max. was 25MHz without impact to any functionality. It works higher but then start the problem like with ADC clock...

Any particular reason you need the Mega2650 with the higher clock speed?
You can get several Arduino alternatives that are much faster & with more flash/ram memory.
Another alternative if you don't need al the Mega pins might be the LGT8F328P as it is very similar to the Arduino UNO but can run at 32MHz.

IIRC @krupski is our resident expert on overclocking AVRs

MCUDude supports up to 20 MHz with the Megacore for the Arduino
20 MHz is 25% overclocked.

Also standard Arduino AVR core is up to 20MHz.