I've never benchmarked it, but I'd be willing to bet that the performance of nested tags isn't appreciably lower than sibling tags. Nothing to back that up other than a hunch, though.
Why do you say that? They have rather different implications in terms of what needs to be tracked. My concerns with tags are other than memory usage, but the problem is harder when you need to track more stuff like this.
Well, don't forget what's being tracked in HTML – you're introducing DOM layers, tree structure, who knows what state the renderer is tracking, there's the CSS too, you need to make sure all of that is jiving, you're processing the overlay, ……
Just because a client understands "JSON" doesn't mean it understands the structure of those JSON frame, and it's highly likely, bordering on certain, that if your client connects to my game, the client won't know what to do with my game's JSON output, because it's most likely structured differently than your client is expecting. That structure (if JSON really is the desired format) would still need to be standard to have cross-compatibility like I'm interested in seeing.
Looks like you're after either GMCP or MSDP.
To resolve your color issue you can use MTTS to communicate to the MUD server that your web client supports 256 colors. There are other means, but none as elegant. I've also written a 256 color snippet which defines a subset of 32 colors with a screenshot at the provided link, which is an attempt at standardization as well. I personally don't see a point in using more than 32 colors because the alternative is using hard to distinguish shades of the same color.
Both MSDPand GMCP provide the variable definitions that you are talking about, though MSDP is more granualized than GMCP which is package based. As GMCP has no official specification I won't bother discussing it. MSDP has the same capabilities as JSON though it's more linear and not as human readable.
MSDP has a standard list of suggested variables, and as the maintainer of the MSDP specification I'll link any decent attempt to create an extension of suggested variables, so in that sense I can provide a platform for your work if you go the MSDP route. KaVir has done some work as well, but hasn't published his extensions, from what I gathered most of it is rather specific to his MUD.