Maybe pick another PIC very close to the one you wanted? I don't think they are all that different from one another. Basically the only PICs that are not surface mount are the ones that are in DIP packages, be it 8, 14, 16, 28, or 40 pin. On the rightmost column in the comparison tables it tells you what packages the PICs can come in. From there you can use the datasheet to find the model number (and corresponding packaging, temperature, speed you want), or you can also go through the online store, MicrochipDIRECT to see the packagings and numbers (cumbersome). The easiest way is to use the samples page. EVerything is listed very clearly after you select the part you want from the pull-down lists.
http://sample.microchip.com/
You can also buy from MicrochipDIRECT, Mouser, Digikey, your local elecctronic store, wherever.
=======================================
You can do bit-masking with logical operators (like AND/OR) to keep/replace/toggle bits within a bit stream. No need for IFs.
**broken link removed**
One operator allows you to toggle bits, another lets you set them based on the input bit stream. For example:
INPUT:------1010
BIT-MASK:--0011
________________________
XOR---------1001
Each bit in the two streams is paired up sequentially to the bit in the other stream (the two bits that appear in the same order in both streams are paired). If you XOR the input and mask, wherever there is a zero in the mask, the input bit will be retained on the output. Wherever the mask is 1, that bit will be toggled. So XOR lets you toggle bits.
Different operators wil [ N = NOT, X = exclusive ]l:
-toggle the bits (XOR)
-set particular bits
-put a 1 in the output whenever the input and mask bits match (XAND?)
-put a 0 in the output whenever the input and mask bits match (NXAND?)
-put a 1 in the output whenever the input and mask bits differ (XOR?)
-put a 0 in the output whenever the input and mask bits differ (NXOR?)
-other things like this
I think there is also a "null" digit that is neither a 1 nor 0, like # and whenenver an it appears in the mask and is paired up with an input bit, that bit remains unaffected at the output (the same way using a mask-bit 0 with XOR will maintain the input bit at the output). Sorry, it's been a while and I forget what these operators are. Everything I Just said about bit-masking is probably wrong (except that you can use it for what you want to do ).
Use this table to figure out which operators you need.
**broken link removed**
It will make more sense when you have the PIC- the important thing is it can be done.