That's an interesting situation - I've been able to solve it using two RailClone objects, one nested inside the other. RailClone object 1 (nested)
In the first object create a single strip of planks using a single linear generator. The start and end have an angle so that the strips will fit together correctly when rotated 90 degrees, In addition the ends are randomly selected from planks of different lengths to achieve some interesting offsets in the final wall. If you wanted to randomise material IDs I'd add that here too (not pictured).RailClone object 2
The previous RailClone object is now nested inside a new RailClone object by selecting it as a segment, rotate on Z axis by 45 degrees and make sure the "nest" option is turned on in the segment's properties to randomise the railclone object each time it appears. This is mirrored on the XY axes and plugged into a sequence operator so that we have an alternating pattern. To close up the gaps adjust the top and left/right padding for the segment. I've imagined that I'd want to adjust the length of RailClone object 1 (which would affect the top padding of RailClone object 2!) so with a little bit of trig we can automate that process. As long as the Strip length Numeric operator's in both RailClone objects are the same, this little expression should automatically return the correct top padding. This step isn't necessary if you don't mind adjusting the padding manually. The "+1.9" is to compensate for the width of the plank.
You may also need to adjust the Expand value depending on length so I've exported it for easy access.
Both RailClone objects and the spline were created on the XY plane then rotated into place.
Please find the file attached to help clarify the above. If I can work out a more elegant solution that uses a single RailClone object I'll post it here.
Hope that helps,