@soaproot I believe your definition of finitely supported function is correct when the domain is a discrete set. When I is not necessarily discrete and A is a pointed set (a set with a zero element), I would propose to define a finitely supported function from I to A to be an element of the colimit of all sets Map(J, A), taken over all maps J -> I where J is a finite set.
When I is discrete, one can restrict to subsets J of I and one recovers your description. Note that if I is not discrete, there is no natural map from my proposed colimit to the set Map(I, A), so "finitely supported function" is no longer a special case of "function", but something different.
This thread is related:
https://mathoverflow.net/questions/302516/constructively-is-the-unit-of-the-free-abelian-group-monad-on-sets-injective