Technically, you're declaring them well before run time.
If you only need two different values, corresponding roughly to "yes" and "no," you might use a bool instead of a number. A bit more logical, and easier to change: you can just write
SomariaCheck = !SomariaCheck; instead of going through an if/else or an equation. That's not too important, though.
I don't know if it does, actually, but I don't see why it would matter. Not unless you're planning to use an uninitialized variable for something, which is pretty much never a good idea.
If you're just trying to set the starting value, initialize it when you declare it, like this:
Don't know. Probably not. But what difference does it make? If it's finished with the code, you can't use the variables anymore, anyway.
You can't use d0-d7. There's no way to access them directly in ZScript.