Not 100% sure I understood your needs (but seems cool! :D)

..wouldn't sin(angle) & cos(angle) be enough to get the intersecting coordinates?

Like, with 8 variables every sector is 45° wide,

D sector starting coordinate in the circle border is:

originX + radius*cos(305)

originY - radius*sin(305)

so it should be:

originX + radius*cos(360-(360.0/number of variables * current variable number -90))

originY - radius*sin(360-(360.0/number of variables * current variable number -90))

360- thing is because we calculate direction clockwise (while angle is standard counterclockwise)

-90 thing is because we start from top (A), instead of starting from right (C) which is standard 0 degrees

edit___

thinking at this... I may have completely misunderstood your needs

you may possibly need to address values

*inside *single sectors?

you could simply scale an active for the sector

see quick example:

Attachment 19148
(hover a sector to see its name/percentage, hold left click to raise percentage, hold right click to lower percentage)

(note: used your sketch but some degrees were a little offrange, like H, thus some difference in sector width in respect to the real sector)