NGUIText.PrintCharacterPositions can be used to determine the positions of all characters. You can use it to position your sprite. Just don't forget to call label.UpdateNGUIText() prior to calling that function.
BBcode style:[b]bold[/b][i]italic[/i][u]underline[/u][s]strikethrough[/s]...etc. Look inside NGUIText.ParseSymbol.