One way I can think of to get an idea of which ISP you are going through is to do a short traceroute. Basically a "ping" with a low Time To Live (hops). When the TTL runs out the machine your packet got to should return an error packet. The first machine will be your home router. The second or third machine will be your neighborhood router.
If you have a server under your control you can have it echo the IP address of clients that connect. That would be the most reliable way to determine the NAT-translated IP address of your client.
If you don't mind parsing HTML there are web pages that will display your IP address.