Hi!
The reason why we save the actual value with more digits than the precision (and why we keep the precision as an explicit value at all) is because the value could be entered and displayed either as decimal digits or in minutes and seconds. So internally one would save 20' as 0.333333333, but the precision is still just 2. This allows to roundtrip.
I hope that makes any sense?
Yes, for primary data storage (though roundtripping via limited-precision doubles is not ideal, but I guess good enough for now). But for secondary data/query interface, I am not sure 0.333333333 is that useful. What would one do with it, especially in SPARQL?