Hey that's alright I didn't take it that way at all. To address your questions:
wouldn't 3 For Each loops be an issue performance wise?
No is the simple answer. Anything can be a performance issue in right situation. You can certainly measure the performance impacts of opposing ways of doing things if you want to. If you use a for each loop at the top of an event hierarchy then everything in that hierarchy has to be tested for each. If you use multiple for each loops for specific elements of the event hierarchy then only those elements have to be tested for each.
we're doing lots of picking in this event now. Won't that be an issue performance wise since it has to pick ALL instances then filter through them? Doing that multiple times isn't an issue?
There are only 5 pick events in the sheet and they are not all always running so I would not call that lots of picking :) The rest is the same as what I wrote in the first answer, anything can be a performance issue.
Is setting UID to -1 wrong? I am asking because I saw you set it to 999 and I wasn't sure if UID can be set to -1 or not.
Don't know. Try it! :) I just picked 9999 cause that's what I use. Obviously if you have 10000 UID's then you'd need a different number
Why did you do the pathfinding this way?
I assume you're referring to the event that sets the targetX and targetY variables? If so it is so that you do not need to reference or pick the villager again in any subsequent events. The enemy instance always has the variables provided they have a target. For example if you stopped the pathfinding and needed to find a path again, you would need another event that picked the right villager to get the coordinates to.
You should remember that there are heaps of different ways to achieve this result. This just happens to be the way that I went, it certainly wouldn't be the fastest or most performant because If I spent more time on it I would refine and test vs opposing ways etc. So if performance is an issue for you, what you have is a working system that you can now go and compare against other methods to find the quickest.
Hope that answers your questions