Are you talking about the L System hardware or my gfx conversion tool?
L System hardware DOES allow a separate palette per tile (up to a maximum of 16 palettes, which is what the hardware supports). To display tiles you write 2 bytes to tile ram, first byte is tile index (0-$ff), second byte upper nibble is palette (0-$f) and lower nibble is tile page (0-$f).
My tool merely processes a BMP of max dimensions 512x256 and iterates through the image, processing a 16x16 chunk and writing the L System data to the 2 files required for each pass through the loop.
This is why I have to reduce the input BMP to 15 colours (colour index 0 for each palette is ALWAYS the transparent colour) before processing it with my tool.
If I've got time I'd like to be able to add the ability to eliminate duplicate tiles in the output files. This could be done by creating a hash for each 16x16 chunk of the input file, comparing hashes as I process each chunk and then skipping the writing of duplicate data if a hash match is found from a previous processed chunk.
The only problem with that is the Z80 tile displaying routine that I'm currently using works on the principle that duplicate tiles are NOT removed from the tile roms. Bit of a chicken and egg situation really!