The at89lp series is a bit different than avr or at89s with respect to isp. It requires an extra wire because it needs both a target reset and a target slave select signal (besides the common MISO, MOSI and SCK).
It is already a while ago but I once experimented with these chips, just out of curiosity. I built an ArduinoISP version that manged to program them. That version still sits in an old branch of my ArduinoISP git hub repo:
It can read and write flash of the devices I have: the at89lp4052 and the at89lp51ed2. It should work for your at89lp51rd2 too. Don't try tho change fuses, I dn't know what will happen (and it can brick your mcu). Instead use the companion at89lp_isp.ino sketch to set the fuses correctly for the at89lp51xxx.
If you care to pursue this, I recommend to start with the at89lp_isp.ino sketch. It allows you to burn a blink firmware to the at89lp51xxx as a first test. The led blinking 8051 code is built in, in the sketch.
For the at89lp4052 chips the factory fuses are fine but for the at89lp51xxx you need to set the fuses correctly in order for the code to start from address 0x0000. The at89lp_isp sketch can do that too.
You communicate with the at89lp_isp sketch by sending it serial commands: see code: 'p' enters or exits programming mose 'a' sets the fuses... You will first want to try whether you can read out the signature bytes.
If you want to try it out, please let me know. In that case, I'll dig up the needed avrdude.conf or some samples...
In at89lp_isp.ino, I cleaned up some debug code that gave compile errors and changed the baudrate to 115200. I hooked up my at89lp51ed2 to an arduino (mega, but any 5V arduino should do) and tested it works with ide 1.6.9.
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).
Do you know if it's possible to use a "standard" programming tool, such as the USBtinyISP or AVRISP to upload code to this device?
Don't think so. Even Atmel's flagship programmer 'Atmel ICE' does not have support for at89lp. I have only read about David Prentice having built a modified usbasp firmware with at89lp support. I did not find the sources though.
With a little effort I think it's possible to add Arduino support for this family!
I don't think that is worth the effort, though that is subjective: you might have a personal motivation to do so... But not many people have this hardware and it is not a new platform that is about to boom like all these Arm cortex mcu's. I think Atmel carries these chips for companies with 8051 based designs they don't want to modify or that want to continue with 8051 for some reason...
That said, I did some experiments, e.g. an equivalent of Arduino's tone api. I think I 'll add them as samples to the blog post. Maybe there are still a few people interested in the at89lp and it might help them get it up and running.