The easiest way to link is with the .uid's
i'd have something like:
--
+For each Sprite
+Sprite.IconUID = 0
>Sys | Create object Icon at Sprite.x,sprite.y
>Sprite | set value IconUID to Icon.UID
--
and then, to set the position of Icons..
--
+For each sprite
+Pick Icon by UID: Sprite.IconUID
>Icon | set position to sprite.x, sprite.y
Edit: For the whole positioning/ transparency thing you could do:
+For each sprite
+Pick Icon by UID: Sprite.IconUID
>Icon | set position to clamp(sprite.x,Viewportleft(),ViewportRight()), clamp(sprite.y,ViewportTop(),ViewportBottom())
+Sprite Is on Screen
>Icon | set invisible
+Else
>Icon | set visible