This is an incredibly random comment re your last point on that list and you might already be aware of this anyway but CPython put a lot of effort into storing ucd data compactly (including storing names of characters in a compact direct acyclic word graph). Might be worth looking at.