Here is a possible method. It is linear interpolation from a much smaller lookup table.
Over a limited range, the exp() function doesn't change slope too much, and it's a smooth function. Multiplication isn't too difficult in a PIC16F690, and various routines are available at piclist.com
Split the number into a most significant part and a least significant part. I suggest 4 bits for the most significant part.
Use a lookup table with 17 entries to find the exp() of the most significant part, and store as the result, for now.
Lookup the exp() of one more than the most significant part, and subtract the other exp()
Multiply the least significant part by this difference and add to the result.
Example.
If you want exp(n/256-1)*256
(That gives a result in the range 94 - 256)
Your lookup table is:-
0 94
1 100
2 106
3 113
4 120
5 128
6 137
7 145
8 155
9 165
A 175
B 187
C 199
D 212
E 225
F 240
10 256
So if you want the to lookup 213, which is 0xD5, you use the lookup table to find the result for 0x0D which is 212.
You then lookup the result for 0x0E, which is 225. Calculate the difference 225 - 212 which is 13
Multiply that by the 5 from 0xD5 and you get 65 or 0x41. You need to divide that by 16, but that's just 0x04, and you add that to the 212 to give your final answer of 216.
This method does need a divide, but only a divide by a fixed number. If you chose the fixed number to be a power of 2, the divides can be done easily by the PIC16F690. I've used this method to work out arctan. It is based on this **broken link removed**