La diferencia de usar un oscilador u otro es básicamente la velocidad a la que trabajará el micro.Si usas un cristal de 4 MHz,el micro ejecutará una instrucción cada microsegundo,mientras que con 20 MHz,la ejecución de cada instrucción consumirá 200 ns.Dependiendo de la aplicación que vayas a desarrollar,la elección del cristal es importante o no.Si necesitas velocidad de proceso,busca el cristal con la mayor frecuencia que el micro soporte (20 MHz para los 16F87X si no me equivoco).Si no recuerdo mal tu aplicación va a consistir en la recogida de datos de unos sensores,por lo que no veo necesaria velocidad de proceso.En principio,cualquier cristal te valdría.
Otro detalle a tener en cuenta es el de las bases de tiempos.Si necesitases crear una base de tiempos para por ejemplo capturar el valor de cada sensor en instantes muy determinados,conseguir una temporización exacta puede estar condicionada por la elección de la frecuencia de trabajo.Por poner un ejemplo,si quisieras leer el valor de los sensores cada 16,3 milisegundos,pudiera ser que con 10 MHz no se pudiera conseguir de forma exacta esa temporización,por lo que tendrías que echar mano de un cristal de 12 MHz,por ejemplo.Ya sería cuestión de hacer cuentas y ver las posibilidades.