Isotope uses the jQuery selection engine, with the CSS3 selection syntax.
I believe this is what you are looking for:
.isotope({ filter: '[data-a~=1], [data-a~=2], [data-a~=3]' });
This filter selector matches all those elements having an attribute data-a containing value 1, 2, OR 3
Creating the more complex statement your last statement can be done by combining the two methods, the following is an untested "best guess"
.isotope({ filter: '[data-a~=1][data-b~=1][data-c~=1], [data-a~=1][data-b~=2][data-c~=1], [data-a~=1][data-b~=3][data-c~=1], [data-a~=1][data-b~=4][data-c~=1], [data-a~=2][data-b~=1][data-c~=1], [data-a~=2][data-b~=2][data-c~=1], [data-a~=2][data-b~=3][data-c~=1], [data-a~=2][data-b~=4][data-c~=1], [data-a~=3][data-b~=1][data-c~=1], [data-a~=3][data-b~=2][data-c~=1], [data-a~=3][data-b~=3][data-c~=1], [data-a~=3][data-b~=4][data-c~=1]' });
All I did was "distribute" your "OR"s into the Selector syntax.
Hope this helps!