I am trying to resolve the same issue. I was trying to use your code but with no success. Can you please explain how did you manage to use all these _leaflet_id within different functions? For example, how did you pass clickID from highlightSelection() to highlight()? All of those IDs have local scope so my understanding is that they can't be used outside functions.
Thanks in advance! Regards