Is it possible to somehow increase the range of Wi-Fi singal to about 2-3 kms or even more? I have heard about some wi-fi range extending antennas so just want to know if anyone has heard or tried one before? Thanks

Yes this is easily done with line of sight. You would create a wireless bridge between the two access points. Ubiquity make a range of affordable access points capable of going over 10km (with line of sight)

If you already have access points you could get some high gain external aerials and accomplish the same task.

Not really. They need to be aimed at each other for it to work. You can brute force it through trees etc by using high gain aerials but this can be hit and miss as well. In an urban situation you wont get far.

Doing a quick read a mast can be 15M high (if coming from ground) (or 3M above the root of attached to roof) (I may be completely wrong) .. would that be high enough to get line of sight? Then attach a couple of NanoStations/NanoBridges on the top of them..

Or you could get a VDSL connection at both places and create a 10M/10M tunnel via them

Even line of sight in an urban area its pretty hit and miss, with virtually every house now having wifi in it can 802.11n crapping over 2/3rds of the band, even if you get signal the noise is really high. I get between 80 and 140 accesspoints from the antenna on the roof that I used to use for a link to someone else.