what that is doing is basically using a variable instead of a constant. So it seems like most of the values you are editing are like this:
ADD [EAX],100
which in pseudo-code is
[EAX] = [EAX] + 100
and the ones you are talking about now would be more like
[EAX] = [EAX] + AL
so you can still change AL to a constant, and if, for example, you see that the lightning slowly moves up, then [EAX] is probably the y-speed. You can then look backwards through the code to find the last time AL was changed and what it was changed to, and figure stuff out from there.
Doing it this way is more likely to cause bugs, and also can be harder to see whats actually changing, so good luck!
PS - here are all the known RAM offsets for the NPC's (thanks to Runelancer)
+0x00: InUse
+0x08: X
+0x0C: Y
+0x10: MoveX
+0x14: MoveY
+0x28: NPCID
+0x4C: Direction
+0x54: Display_L
+0x58: Display_U
+0x5C: Display_R
+0x60: Display_D
+0x64: FrameNum
+0x68: FrameID
+0x6C: ObjectTimer
+0x74: ScriptState
+0x78: ScriptTimer
so the line you posted changes the "InUse" variable of the NPC, which could do a number of things such as delete the NPC completely, put it in its inactive state (ever notice how some enemies stop moving if you are far enough away?) or stuff like that. I haven't looked at NPCs a lot, so I really have no idea yet.
If you look at the line you changed to make the lightning go up, I would be willing to bet that it was using the "MoveY" and/or the "Y" variables.