Nope, there's no way to change light levels in the API.  I've spent a bit of time researching this, and from what I can tell, there's no way of overriding light levels on a per-block basis.  Or rather you can set the light level of an individual block with a NMS method, but neither of the block update packets (0x34 or 0x35) allow for sending lighting changes to clients.  The only way to do it is in chunk update packets (0x33 or 0x38).

Your point about abuse of this API solely to change light levels is well made, though.