Is it possible using the native Brick 2D or 3D node to get bricks that individually vary in color and/or alpha?
Of course it's possible, but you probably have to connect quite a few nodes.
Here's one way you can do it:
(I assume you know what spot is..)
First, when you connect spot to diffuse shading, you see the result shows red towards right and green towards the top. You can show coordinates XYZ as colours RGB. X=R, Y=G, and Z=B. This can be some help when playing with nodes.
Add these nodes, and choose X and Y channel in the "Vector scalar" nodes:
The mod nodes gives the remainder after a divide. For example, 5 mod 2 would give a remainder of 1, or 1.23 mod 1 would give a remainder of 0.23, as would 2.23 mod 1 ...
This gives us some tiling in the result:
Changing the Scalar node to 0.5 gives some smaller tiles:
This is pretty much all you need to pixelate textures. Plug the result into position in a texture-node:
The brick node gives tile-height one third of the width. So you can add a Divide-node:
Of course, every other row needs to be offset half a brick width. One way is double the tile-height again, and use a logic node to move the top half of it to the right.
If remainder from Mod (gives value from 0 to 2/3 of tile width) is bigger then 1/3, add half a tile width to the X-value going into the first Mod node...
You can also do this with gradient nodes, instead of math nodes...