Read Low Level Mouse Click Unix passed through PuTTY
It should work just fine to do this using the mouse-interface in ncurses
(I'm sure that vim and other applications has no specific knowledge about how SSH/PuTTY communicates, it just picks up the mouse position as it would if it was a local connection - the sshd
sorts out all the magic with translating network packets to keypresses and mouse-moves).
Here is a description of how you interface with a mouse in ncurses
.