Hi Ed,
I am not sure what exactly what you want to achieve. This is what I think you want. I will demonstrate it with a list of only 4 elements.
Rule[#, 0] & /@ # & /@ Subsets[Table[Subscript[\[Theta], i], {i, 0, 4}]]
So you first have a list where nothing is set to zero, then four lists where each of the elements is set to zero, then lists where all combinations of 2 elements are set to zero, etc.
If you actually want the lists this might work.
(Table[Subscript[\[Theta], i], {i, 0, 4}] /. #) & /@ (Rule[#, 0] & /@ # & /@ Subsets[Table[Subscript[\[Theta], i], {i, 0, 4}]])
Things like these might also work:
ReplacePart[Table[Subscript[\[Theta], i], {i, 0, 4}], Rule[#, 0] & /@ #] & /@ Subsets[Range[4]]
or
ReplacePart[Evaluate[Table[Subscript[\[Theta], i], {i, 0, 4}]], Flatten[Outer[Rule, #, {0}]]] & /@ Subsets[Range[4]]
This could certainly be made more elegant and faster, but for your 16 elements it is quite fast anyway.
AbsoluteTiming[rules = Rule[#, 0] & /@ # & /@ Subsets[Table[Subscript[\[Theta], i], {i, 0, 16}]];]
This evaluates in under one second.
Cheers,
M.