Jason Harper says:
Assuming that code space is also a concern, try this: it's a bit shorter than the other solutions I've seen posted. Note that it actually calculates input * 102 / 256, but due to roundoff errors it produces 100 for an input of 255, so it should do the job for you.
percentify
; input in W, output in temp
movwf temp
bcf status,c
rrf temp,f ;temp = input * 128 / 256
addwf temp,f ;carry/temp = input * 384 / 256
rrf temp,f ;temp = input * 192 / 256
bcf status,c
rrf temp,f ;temp = input * 96 / 256
swapf temp,w
andlw 0x0F ;w = input * 6 / 256
addwf temp,f ;temp = input * 102 / 256
;or: addwf temp,w for result in w
return