*nix systems ship with Netstat for this, which is available for Windows as well if you don't mind the command-line. For permanent monitoring including bandwidth, there's
ifstat, which also has several Windows pendants.
A related article on one of our sister-sites might fully answer your question: How can I limit bandwidth of other programs?
NetBalancer might be a good choice for you. Not being a Windows-user I cannot speak of personal experience, but from what I see it matches all your requirements:
- track every application/process/whatever on my computer that is currently accessing the internet: Yes. Each process is listed along with its current use.
- identify what they're accessing and how much bandwidth they use: As described. Also see screenshot below.
- Limit the bandwidth used by an app: You didn't ask for that, but I read that between the lines – and it seems to be supported by NetBalancer as well.
- Freeware: The full-fledged version is paid. But for what you explicitely asked for, there's a free version available – which limits before-mentioned "bonus functionality" to 5 processes (where you can restrict bandwidth for)
- Win7 compatible: Windows XP, 2003, Vista, 7, 8 with native x64 support
- Lets me end the program from the application: Here I have to pick the "or" part. Looks like you can block it (i.e. the app cannot use any bandwidth anymore, as you block the access to the Internet).
NetBalancer screenshot (click image for larger variant)