You are right, programming AVRs is pretty easy. It's just a custom protocol implemented on top of SPI, running at low voltage. SCK is needed.
However, programming older PICs (and non ISP AVR programming) requires high voltages and a different custom protocol. This necessitates a special hardware programmer.
Other devices are more complex. Most ARM microcontrollers must be programmed via JTAG, here memory is being written directly and the processor is instructed to write to the flash. Again, every device is different.
What's this patching of that gizmo worth to you? If you know nothing about 8051 it may be a long and difficult task. Disassembling the code will give you a listing of tens of pages where only the instructions are readable, at least for someone who knows 8051. Labels and variables are just hollow numbers, and of course it's not commented either. If the source was C instead of assembler it may even look more abstract.
The datasheet is not a great help re the programming. It mentions ISP (In System Programming) and IAP (In Application Programming), but the ISP procedure seems to include setting SFRs, so it looks like that's actually IAP as well.
ISP means that you have outside access to a microcontroller which is mounted on your product's PCB, to program it. Everything is controlled through external pins.
IAP also means programming the microcontroller inside your product, but here the microcontroller has to execute a software procedure to talk to the external programming equipment and program the Flash.
So the controller seems to need programming code to reprogram the device. It will probably use the UART for this, but the programming facility has to be programmed in the device in the first place, and most low-cost commercial devices are not made to be reprogrammed.
The datasheet doesn't say anything about programming the device on a programmer, but since it's 8051 compatible the programming may be compatible with that as well, and any legacy universal programmer may be able to program it.
You'll have to carefully remove it from the PCB, so that you can resolder it later.
Pault's AVR alternative may be a good idea. I've never used them to replace 8051's, so check the datasheet carefully, pin for pin. Pault mentions the ATMega162, and it seems the ATMega8515 is also 8051 pin-compatible. Note, however, that neither datasheets mentions anything about this.
I use Sparkfun's USB to UART board. I bring out UART0, reset and isp to headers. I connect reset and isp to ground with jumpers, then use FlashMagic. This only seems to work right if I also power the device from USB, so the grounds are common.