The sdcc c compiler works well.
Atmel provides the AT89LP Developer Studio which comes with header files that have defines for the at89lp specific special function registers. For generic 8051 stuff (gpio's, timers, uart) you need nothing but the 8051 headers that come with sdcc.
sdcc comes with a useful clock.c example that illustrates timers and uart (with a minimalistic printf).