Why no, on the contrary, clear and concise!
I am also using a unique color to draw each dots, matching exactly each of the coordinates within the array indices.
You're obviously doing this in order not to lose time searching the UV array to compare the cursor coords against the vertices. But you're seeing only a few dozens of thousands mesh UV bullets at the most. Even a linear search of such a relatively small array should be blazing fast at today's CPU clock speeds even if done on the FPU let alone integer comparisons.
Rainbow colors of bullets is another no-no IMHO.
... press a button to redraw the UVmap and update the vertex->texCoord accordingly.
No. The selected bullet position (i.e. mesh vertex UV pair) should change immediately on each cursor move, and the associated wireframe tris should be redrawn along with it.
You probably had to solve the same problem with what you have done in FSBL, and we could use the same.
Ten years ago I dealt with game levels (see below) that consisted of polygon groups. You may regard them as static models and meshes, respectively. The total size of a model varied between 50 to 250K polies with ca. 500 to 2200 meshes and ca. 850 to 2500 textures. So, an individual mesh size was on the order of a few thousand polies at the most. Therefore I used a linear search directly through the mesh vertices. The search procedures however were written in hand-optimized floating point assembly. I never experienced any visible lag to redraw the viewports when dragging a bullet or even a group of area-selected bullets.
Hopefully the same may be done for today's much larger meshes given our much faster modern CPUs. Let's be practical: your huge heavily subdivided meshes like hulls or shells usually don't use direct texturing except perhaps refl maps. Other textured meshes are usually up to 100K polies large, and character models are only a fraction of even that. I think wireframe redraws may well appear even slower than the associated linear search through an integer array. Note the search to determine the vertex index should be done only once at the first LMB down on the bullet you want to drag around.
All this should of course be tested and proven true or false.