No, lights don't have a remove()-method nor has the world. That's caused by the way they are implemented (which sucks btw...). Each light is identified by an ID when added to the world. That ID actually is the position in an array. If you delete a light in between, all other IDs wouldn't be valid any longer. That the reason why you can't delete a light. Maybe i should rework this part, but for now, a kind of light pool might be a better solution. A simple pool that stores a number of disabled lights and returns an unused one if the application requests one. If the application is done with that light, it will be returned to the pool.
What do you mean by that null pointer-thing? That disabling a light source doesn't work? That would be a bug in jPCT.
BTW: When working with lights, i strongly suggest to use the Light-class instead of the methods in World. They both do the same thing, but the Light-class hides at least some parts of the sucking implementation.