I understand I'm plugged via ADSL to my ISP's routers and servers, however, I'm wondering how disconnection works. If for some reason I stopped paying my ISP, what could they do on their side to stop me from accessing the Internet without actually unplugging my line?
One common method is called a "Walled Garden". Basically, traffic from your modem is redirected to a specific URL and block everything else. One example is what you mentioned, failure to pay, in which case they would just redirect traffic to a page that lets you pay your bill. It's in their best interest to make that easy for you. This can also be done for things like terms of service violations.
However, there are also ISPs who implement things differently or don't do anything at all.
I know they provide me with a public IP address, which they could stop routing if I somehow stopped paying, but couldn't I just unilaterally assign myself one of their other available public IP's from their pool and be able to use their service anyway? And how could I do that?
It's tough to answer this without getting into the weeds, but the short answer is that your service isn't bound to the IP address you get from the ISP. The particular way it's tracked depends on the implementation, for example PPPoE may use a user/pass.
So using your example, it might be that your user/pass authenticates to a RADIUS server in the providers network, that server then passes the information to the router that your modem connects to to inform it that you haven't paid your bill and that your service should be placed into the walled garden.