As said I'm 'upgrading' an existing system with a good few thousand units to look after customer won't allow a new board per unit to make my day a bit smoother!
I suspected that was the case.
I guess there is no such thing as an adaptor socket to make a physical pin reconfiguration?
I have motor pulse on RA0, direction on RA1 and speed control on RB0.
If you were going down that road, you'd use a QFN package part on a DIL footprint adapter board. However the board would be entirely custom.
If RA0 was set to high-impedance is there any penalty for making a bodge wire on the PIC socket underside from a PWM pin to RA0.
I know it's a bit 'how ya doin' as Dave would say but it's plausable from my cost/time angle?
A bodge wire would let you re-route the real PWM but would be extra work per unit. Assuming RB4 isn't in use, running it diagonally across the socket would be the simplest option. (or if access to the underside of the board is poor, directly across the top of the chip soldered to the base of its pins). However there is absolutely no point in changing hardware
* for >2K units if it can be done in software, and so far it looks like it can. Things that could change that would be if the PIC has to simultaneously perform other time-critical functions you haven't mentioned.
I would personally be entirely satisfied with the toggle arbitrary pin in a high priority PTI ISR approach if all you need is a 50% duty cycle variable frequency squarewave. Once set up its nearly as 'fire & forget' as using a PWM pin. The pin output will be jitter free and as accurate as the PIC's clock source and 16 bit period timer allow, and its effect on timekeeping will be negligible amount of extra jitter on the timer interrupt (maybe 20 to 30 Tcy additional latency).
* 2000 x 5 minutes per unit is a month of normal working hours. The software solution should only take a few hours extra to develop ==> a hardware mod just to relocate one PWM doesn't pay for >50 units.