Wie Michael Holoubek gesagt hat, lassen sich mit dem Hardware-UART maximal 625kbps erzielen.
Die Fehlerrate ist allerdings die Fehlerrate des Oszillators bezüglich des Vorteilers im Vergleich zur Referenztaktung des RS232-Signals.

Wenn du jedoch einen 18FXXX nimmst und dort die serielle Schnittstelle per Software realisierst, kannst du das Problemlos machen; du hast damit für die gesamte Datenbehandlung 10 Maschinenzyklen Zeit. Zum reinen Übertragen von im Speicher abgelegten Daten reicht das problemlos aus. Aber sonst darfst du nichts machen, denn dafür reicht die Zeit nicht aus.

Du solltest dir daher überlegen, ob du nicht eine andere vielleicht sinnvollere Lösung dafür findest, als deinen Microcontroller damit die ganze Zeit über zu quälen.

1.) Wenn du die Datenrate nicht reduzieren kannst, dann solltest du dir überlegen, dass du im Microcontroller gar nicht die Daten hast, als dass du se so schnell übertragen könntest. Wenn du die Datenmenge brauchst, dann solltest du dir entweder einen Controller suchen, der die Daten auch verarbeiten kann (z.B. dsPIC, oder noch besser einem kleinen ARM7) oder du gehst hin und nimmst einen Hardware-UART-Controller, lässt den direkt in ein SRAM schreiben und dann geht das ganze wunderbar, wenn auch nicht mehr ganz so einfach, wie du es dir zuerst vorgestellt hast.

2.) Wenn die Datenrate reduzierbar ist, dann ist das Problem schon erledigt.