is there another way to use something like tag ???

I think I will use a lot of tags, and maybe Unity is not enough to make that many tags, is there a way that i can create something like tags ??, where objects can recognize other objects without tags,

There are many ways you can do that. Some are build in with Unity some aren’t.
Your real problem is getting references to objects in your scene and not the tag system.
Tags can be very useful but for a handful of situations.

One easy way to find an object is by assigning a script to it and referencing that script with a method like FindObjectOfType or by checking if an object has the required script on it with GetType and typeof.

e.g. Let’s say you want to check if a game object has a script attached on it called Ball. You would use the following condition.

if(gameObject.GetType() == typeof(Ball))
     Debug.Log("This object has a ball on it!");

But if I were you I would take a better look at Dependency Injection. It’s a bit of a complicated subject for beginners but frameworks like Zenject help solve that exact problem very elegantly.

There are several assets on the asset store which allows you to assign multiple tags to a single object.

For ex: MultiTags | Utilities Tools | Unity Asset Store