Hola, solamente quiero hacer una pequeña aclaración, cuando activas las pull-ups, del puerto B, (si no recuerdo mal) si un pin de dicho puerto lo configuras como salida se desactiva automaticamente la pull-up de dicho pin, con lo cual si modificas el TRISB, desactivas las pull-up de los pines que configures como salida.
Si me equivoco corregirme, pero creo recordar que lo pone en el datasheet.
Un saludo.