Your layout symmetry is fine, but dummies are needed only at the array ends, to keep the same environment also for the outside fingers:
(DUMMY)ABBACDDC(DUMMY)
(DUMMY)DCCDBAAB(DUMMY)
The lengths of the dummy transistors may be shorter than those of the array fingers - important is only to keep the environment adjacent to the outside ends of the array.
Of course the routing will be complex. But try and keep max. symmetry for the routing, too, re. wire length ~ capacitance.
Connect all terminals of the 4 n-dummies to GND.
Perhaps you'll need bulk connections closer to the array transistors than your bulk ring. The DRC will tell you.
Don't connect the sources to the bulk ring - instead connect them directly to their respective nodes vss1, vss2, gnd (which might be the same node). Same for the bulk ring: no current should flow over the ring.
Following a sketchy glimpse your array looks good, even if I think you've wasted some space below and above it.
However your dummies aren't correctly positioned: dummies serve to guarantee a continuous environment, in this case for the 4 outside fingers of your array. That's why the spacing to the outside fingers and the position of the (gate) contacts should be the same as inside the array. This means the dummies should be incorporated into the array. As they are now, they don't serve their dummy purpose well - mainly because they are too far away.
Their shorter lengths (L) are fine, as I told you above. Important is the same spacing between the poly (gate) regions.