This thread is slightly old but since it's relevant to what I am doing I thought I'd post comments here rather than start a new one. I'm also attempting an angled top-down game with a camera view much like an old jrpg, Phantasy Star IV for example:
In point 2, I think Sundaerae is trying to deal with sorting by having a layer for each row. By setting each row of tiles at a different height your characters can pass in front/behind tiles that overlap other tiles (like trees) easily, if the characters Z are also based on their Y position.
I'm trying to do something similar - have a layer for flat terrain and on top of that a layer for props and structures that moving objects like characters should be able to pass behind and in front of. At the moment I am using freely placed sprites for these structures, and a script on each that sets their Z value based on the Y position.
However, it's somewhat unwieldy compared to just painting tilemaps so I was wondering if there is another way ... is there another method you can think of, or perhaps a place in the mesh gen code where I can add an offset to the Z position on a row-by-row basis for a particular layer?
Another question: accessing layers through code - I see that layers are int based, but in the UI the layers all have string identifiers. Is there a way to tell which layer is 0,1,2 etc if I have given them all readable names, and no longer have numbers there? Are they numbered by their order in the inspector maybe?
edit: Ok I see the layer number can be inferred from the tk2dTileMapData asset, by the ordering of the array in the inspector.