Как определить наиболее точно адрес по ip?
Whois сервисы. Их очень много. В linux консольная утилита whois. whois cliLast login: Tue Jul 22 00:06:53 2014 from 192.168.0.51
whpgin@Server-Enginex:~$ whois 78.25.122.213
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Note: this output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '78.25.120.0 - 78.25.123.255'

% Abuse contact for '78.25.120.0 - 78.25.123.255' is 'abuse-mailbox@megafon.ru'

inetnum:        78.25.120.0 - 78.25.123.255
netname:        MF-NWGSM
descr:          North-West Branch of OJSC MegaFon Network
country:        RU
admin-c:        NMNW-RIPE
tech-c:         NMNW-RIPE
status:         ASSIGNED PA
mnt-by:         MNT-MF-NWGSM
mnt-by:         MEGAFON-RIPE-MNT
mnt-lower:      MNT-MF-NWGSM
mnt-domains:    MNT-MF-NWGSM
mnt-routes:     MNT-MF-NWGSM
geoloc:         59.91 30.491
source:         RIPE # Filtered

role:           North-West Branch of OJSC MegaFon Internet Center
address:        10, Karavannaya street
address:        Saint-Petersburg, Russia, 191011
admin-c:        MYK17-RIPE
admin-c:        GMV-RIPE
tech-c:         MYK17-RIPE
tech-c:         GMV-RIPE
nic-hdl:        NMNW-RIPE
mnt-by:         MNT-MF-NWGSM
source:         RIPE # Filtered

% Information related to '78.25.122.0/23AS31213'

route:          78.25.122.0/23
descr:          North-West Branch of OJSC MegaFon
descr:          Saint-Petersburg, Russia, 191011
origin:         AS31213
mnt-by:         MNT-MF-NWGSM
source:         RIPE # Filtered

% This query was served by the RIPE Database Query Service version 1.74.1 (DB-4)
Они все действую по одному принципу. Фактически местоположение конечного узла может быть где угодно. А диапазон ip адресов просто выкуплен провайдером, отделение которого расположено в подозреваемом вами городе. Тогда IP узла может определяться как город где расположен главный ДЦ провайдера или головной офис (к примеру). 
Я нахожусь в Благовещенске Амурской области. На разных провайдерах я определяюсь как Москва, и как Чита на другом.
Один из вариантов - попробовать выполнить трассировку до узла. Быть может промежуточные хопы подскажут где именно находится ваш дружок.
Никак. 
Есть публичные геобазы, есть whois. Они безбожно врут обычно. 
Провайдер получает адреса "прописывая" их в Москву (по адресу юр. лица). Дальше никто не запрещает ему использовать эти адреса во Владивостоке. 
Более того, трафик для этого адреса действительно может приниматься провайдером на бордере в Москве, а дальше по своим собственным каналам гнаться в Сибирь. 
Так что ответ вкратце: 
1) потрейсить адрес, возможно там будут намеки (ну там название роутера вида hq-bb-be10.msk.corbina.net в последнем хопе или удастся по другим косвенным признакам определить местоположение последнего хопа). 
2) узнать провайдера
3) спросить у провайдера (если вы полиция). 
Если не полиция/нет знакомых - то, в общем-то, никак. Только полагаться на врущую публичную геобазу.