Does this make anything clearer?
#define HIGH 0x1
#define LOW 0x0
#define INPUT 0x0
#define OUTPUT 0x1
when you substitute those values into your original code
pinMode(solePin[id],OUTPUT);
pinMode(solePin[id],LOW); // init as low
(which is why I suggested "digitalWrite" instead of the second "pinMode", up there ^^^ )