Deferred callback manager / software timer library for PIC32
The Microchip’s TCP/IP stack has an implementation of such a timer library called the Tick Module. It's written for portability and supports the PIC18, PIC24, dsPIC &amp; PIC32 devices.

From the Microchip TCP/IP Stack Help:


  The Tick module provides accurate time-keeping capabilities based on
  the hardware clock. By default, it uses Timer 0 on 8-bit parts and
  Timer 1 on 16- and 32-bit families. The module is interrupt driven,
  which makes the timing stable and accurate. As such, it is also
  suitable for a real-time clock. 
  
  The Tick module exists to assist with the implementation of
  non-blocking delays and timeouts. Rather than using a loop to count to
  a specific number, use the Tick module and compare a previous time
  with the current time. In this fashion applications can return its
  unused cycles to the stack during long delays, which increases the
  overall efficiency of the system.


You'll just need to find the Tick.h and Tick.c files in the TCP/IP stack (download link, it's free) and modify them a bit to make them work independent of the stack.