I'm looking now: it's just occurred to me that when you said $DCB, you meant in the ROM, not RAM.
They're really quite simple values, I must say: just each bit on in eight bytes (01, 02, 04 etc). The weird thing is that I can't see what they do. When I set a breakpoint for any of them being read by the game when I acquire or use a spell, I get nothing. So I've no idea what the significance of them is. It's possible that it's not necessarily connected with spells but are a general use set of values for different purposes, given how they're just in sequence like that.
As for what you'd like to do - make reflect always on, for example - I'd have to play through the game to the point where I actually get reflect, and I don't have time to play through Zelda 2 again just for that.
In theory, though, activating reflect (or shield or jump or whatever) should set something in RAM that says the spell is on, then the game zeroes that value when you leave the room. To make reflect be always on, you could change the routine to save to a different address in RAM, then when the game checks to see if you have reflect (when you get hit) you can redirect it to that value, where it will see that it's on and go "okay then". That way the general spell activating value never gets affected.
Since you acquire shield at the beginning, I'll try and locate the RAM value that indicates a particular spell is activated.
EDIT: Ah, I got the address wrong in my breakpoint.
01 seems to equal shield. $76F is where your spell status is stored in RAM, so when you cast a spell, it gets the required bit and puts it there. Clearly the reason they used bits is so you could have eight spells at once. If I change 01 to 04, the game doesn't like it and replaces it with zero so you get nothing, but when I replace it with 10, it has no issue and gives you the fire spell. I tried 20 but I have no way of testing it this early in the game. The best thing for keeping reflect as an item would be to find where in RAM your spells are kept, rather than the ones currently active, and when it's reflect, it does as I mentioned before: puts it somewhere else and redirects status checks to there.