Hi,
(1) You could create an index based on the players realm, players name, players spec for each characters spec and hold details based on that spec and update as appropiate.
(2) To obtain the overall score you would just need a table with the players realm, players name, points and the spec that the points are associated with. This table would hold a single record for the character containing the highest of all the players dual specs and provide a forward lookup to it. As other specs associated with this character grows - this single record may switch its points and pointer to one of the off-specs.
I agree - easier typying than implimenting it though..... lol.
My 2 cents worth...
Wemo.