but what about 16f627 or 16f628 i found that internal oscillator 4 MHz or 37 kHz
what this mean
it means that PIC has two internal oscillator speeds. When using higher speed oscillator, power consumption is higher when comparing to lower speed. Therefore low power applications normally use lower speeds. in above PIC speed can be set dynamically that is it can change speeds on the go. for an example lets say you are reading a sensor values in time intervals and once values are read you have to do some calculations and a work depending on the sensor readings. then you can change speed to 4MHz while reading and doing calculation and work, and then go to lower speed while in idle time.
should i use esternal oscillator for uart (serial communication) application
you can use either internal or external oscillator for this.
and generally what is the suitable oscillation for serial communication application
4MHz or higher speed is suitable. but it can work at lower speeds but if you have to do other works also it is a good idea to use a higher speed so no lagging will occur.