This is less than 1/4 watt at 3.3V. If the chip is operating at a high speed, performing even seemingly simple calculations, and no power saving measures are enabled, then a 24 series PIC processor can certainly dissipate a quarter watt running around in circles.
If you provide the chip part number, the program, and schematic, we might be able to identify specific reasons it's consuming more than the 2mA you expect.
If you want to investigate further
- Consider replacing it with a new chip and a similar program to compare the two.
- It may have a MAC and a divider. If your code is exercising these features heavily you'll consume a surprising amount of current
- Some peripherals consume current when not specifically configured - go through and disable the peripherals and peripheral clock
- Some older chips had rather high current consumption for certain blocks, like the brownout detector. Disable these in the fuse settings.
- Perform a complete chip erase and reset.
- Disconnect any programmers/debuggers to disable JTAG and related blocks.
- Ensure inputs aren't floating - even though the risk of damage is all but gone these days, floating inputs can draw significant currents operating in the linear region.