I've
be
but
I looked at the code you posted in a.m.8-bit. What voltage does the pin put out when it is not connected to the MOSFET? Your loop is turning the motors off at the beginning. Assuming a clock of 4Mhz, your loop takes 12uS to execute. 8 of those 12uS are spent with outputs turned off resulting in a square wave with a duty cycle of 33%, hence the average voltage is 1.3V. (1.3V * 3) + .7V = 4.6V or to put it another way (4.5V - .7V)/3 =~1.3V
Do you have external pullup resistors on the inputs? If so, what value?
How did you come up with your __CONFIG value. It all looks good except for the '3'. Shouldn't that be a '1'? The datasheet says that other bit is unimplemented.