It looks far worse / complex than it is ... in reality you want to convert your "current" service into a similar decimal representation as the prior service value... so

DATEDIF(start,end,"y") -> gives the Integer Years
DATEDIF(start,end,"ym")/12 -> gives the remaining months as a decimal equiv. of a year (ie 6 months = 0.5)

If for the sake of argument we assume "current" equates to 2.5 and "prior" to 10.75 then if we sum the two values

SUM(2.5,10.75) -> 13.25

the Integer result represents the cumulative years (13)
the decimal remainder (.25) again represents our "incomplete" year, so if we multiply this value by 12 and Round result to nearest whole number we will transform the decimal months to integer months, eg:

ROUND(0.25 * 12,0) -> 3

I hope that helps.