PIC = polymorphic inline caches.
When you optimize the lookup in the VM for speed you implement the so called inline caches: at each send site, you put information about the result of the previous lookup done here. In most case, a send site is monomorphic, which mean it is always the same method that is called there (the receiver has always the same class), so the information put is the method always called and this method is triggered instead of doing a lookup to find the method (to increase the execution speed by avoiding lookup).
Some other send sites use polymorphism, which means there are a few different class possible for the receiver of the send site. Inline caches optimizations on this sites are called PIC, and the optimization is done differently.
For more informations, there's Eliot's blog about cog here:
or the thesis of hölzle here:
The thesis of hölzle explains the basics of inline caches and their implementation in self 91, the cog blog explains their implementation in Cog.
Hope I could help you,