Hi,

You should be using one having hardware USART. What is the distance that you would be hooking upto ? Using a DAC / ADC combination to sense four buttons may then be difficult. I personally tend to use the 18F452 because of its speed. You don't miss characters due to overflow. Keep in mind the code overhead in your main processor. If you mention your application in details may be one of my previous code will suite your app.

Regards

Sougata