How to use bitset/read on 16bit numbers (Arduino)
The main problem that you're having is that binary literals don't exist in C; the Arduino libraries get around this by having every single binary value from 1'b0 to 8'b1111_1111 defined as a macro in cores/arduino/binary.h. The obvious workaround is to use octal, decimal, or hexadecimal literals instead.

unsigned short theGrid[] = {
00,
0,
0x0,
 ...
};


Bitwise operations work as normal.

theGrid[pixelY] |= _BV(15 - pixelX);