Watching DSL and Cable providers get the IP through a client-side script would be entertaining. JavaScript will not work unless you can guarantee that the majority of the users in the world are using Netscape browsers (they are not). Only Netscape browsers support java.net.InetAddress.getLocalHost().getHostAddress().
There is one more semi-consistant way to get the IP on the client side(regardless of the browser), and that is through a Java Applet. Putting security constraints aside, this would eventually set a form value that would get passed back to the server as you suggest. But, remember, the browser must be Java enabled. Nowadays, many are not.
This is all assuming you could make users navigate to a page that has the script or the app to get the IP. This would not be easy. You do realize that you would have to go to one of the companies pages to load the page, right. Then you would have to get the user to click on a form submit button to send your IP to the server. This will not magically work on its own. You could get JavaScript to auto-submit the form for you onLoad. Still you would have to force all users to use the DSL or Cable providers page as a home page. What a mess.
If DSL and Cable providers are checking your IP with this method as you claim, they are not getting what they want and they have been greatly mislead. This is all interesting though, considering we are at a time when providers DON'T CARE as much as in the past about multiple machines on one line.
Know it instead of repeating what your friends tell you!
RTFM!!