Instead of altering the 'freeb:hp' tag function (which is used by many frames), you should create a copy with a different tag name.
e.g.
Code:
oUF.Tags['syliha:hp'] = function(u)
local min, max = UnitHealth(u), UnitHealthMax(u)
return math.floor(min/max*100+.5).."%"
end
oUF.TagEvents['syliha:hp'] = 'UNIT_HEALTH'
You then need search for where the 'freeb:hp' tag is used, and when the unit is 'TARGET' use your new tag instead.