Why does changing an 'add' to a logical or devour 7 CPLD macrocells?
If all you want to do is combine two smaller arrays into a larger array of signals then it's best to use the concatenation operator:

wire [5:0] tmp = {LL, RL};


With the above, wire[5:3] will be connected to LL, and wire[2:0] will be connected to RL

You can use it in any order like:

wire[5:0] tmp = {RL, LL]; 

Or even:

wire[5:0] tmp = {LL[0], RL, LL[2:1]; 

(you can see how this can be used to shift/rotate signals)

Still, I'm not sure why changing to the OR should use another 7 macrocells, it's possibly (probably) because the synthesis tool is inferring an adder with the + operator and the CPLD has an adder cell that it can use, as opposed to making the adder from a few gates.  

How did you determine this? Did you check the technology schematic to see what's being created?
To help discover exactly what's happening, seeing the rest of your modules code would be helpful (also I can try it in ISE here)   

EDIT - out of curiosity I wrote a small test module using the relevant bit of the above code. I tried synthesising (with default settings) for a Spartan-3A and the XC264A CPLD, with the + or the|. Both terms produced identical results for the Spartan and the CPLD, both in the technology viewer and the place and route macrocell usage report.
With this information, it looks like it must be something to do with the rest of the design and possibly the synthesis tool settings (optimisation, etc). The snippet above should just concatenate the two smaller signals into one larger one, so no logic should be necessary.