1.) Yes. When Java was first introduced the char type was based on Unicode 88 and they did not change this when Unicode 2.0 came out. In order to support the additional codepoints in Unicode 2.0 Java uses surrogate pairs, two chars.
In a True Type Font file characters are looked up via their Unicode code point. You could just use a char for this as the int value of a char is its Unicode codepoint, but that leaves out the additional characters supported by Unicode 2.0.
In order to support this jME-TrueTypeFont loads the string into a StringBuilder and uses the StringBuilder.codepointAt method which supports Unicode 2.0 by looking for surrogate pairs and returning the appropriate Unicode 2.0 code point.
2.) jME-TrueTypeFont uses one texture for each instance. The default maximum resolution is 2048x2048, but you can change this to whatever you want so long as the graphics card supports it.