The -X flag on less does have the effect of allowing through colour codes from ls --color=always, but it also disables pager functionality. This can potentially result in odd behaviour - for example, urxvt will not treat less as a secondary screen and thus will ignore the secondaryScreen and secondaryScroll (and, with a patch, secondaryWheel) settings.
The version of less which comes with Arch has a -R flag which allows through colour codes, and is thus the preferred option for your ll macro.