On the xp differences based on build it might be easier (not simpler to code) to use the easy dots or what have you, but still keep track of the raw xp costs, and just give out the difference at the end of CG.
I think spending xps directly is harder to grasp what you are doing, and looks more complicated to players.