I'd probably set up a dedicated scene explicitly for showing this animated damage value and then just instantiate it, position it, and start it wherever it's needed. Further, I'd just have the scene destroy itself when the animation finishes.
For example, your scene could be setup like this (
And, the Node2D could have the following script:
$Label.text = "Damage = %s" % damage_val
yield() followed by
queue_free() will cause the scene to destroy itself when the damage animation finishes playing.
Then, just instantiate the damage scene, position it as needed, and call the
show_damage(). For example, this places a new instance at each mouse-click position and passes in a random damage value.
var damage_scene = preload("res://Damage.tscn")
var pos = get_global_mouse_position()
var d = damage_scene.instance()
d.position = pos
Then, just season the underlying animation to taste. You could animate visibility, scale, rotation, position, color, ... Whatever you need.