Frequently changing IPs shouldn't be a problem. As networks can be configured to have static IPs, I am pretty sure you are talking about changing IPs your ISP (Internet Service Provider) gives you. If that's the case, your IP won't be changing any sooner than when you drop an existing connection and dailup/connect again.
Related to remote controlling your friend's system, you most probably are already aware that Windows 7 comes with such functionality "on board". All you have to do is follow the rather easy Windows 7 interface to establish a connection between both Win7 systems.
The fact that your or the other IP may change next time you want to connect should not be a real problem, since you will be doing a "handshake" (where your "friend" gives you permission to remotely control his system) anyway.
Knowing you and your friend both use Win7 means you're already equipped with the right tools as Win7 has remote-control/remote-assistance tools on board and is capable to cope with a new IP configuration every time it may come up when trying to establish a connection.
Ad-hoc and free alternatives to the native "Windows Remote Desktop Connection" would be well-known software solutions like "Teamviewer", "LogMeIn", "TightVNC", "Ultra VNC", "CrossLoop" and the likes.
A thing I haven't looked into personally but which look interesting is: "Chrome remote desktop", a chrome extension that allow users to remotely access your and someone other’s computer with chrome browser. Word has it that this chrome extension is pretty much just like "Teamviewer".
Just be careful not to go for lesser-known "remote controlling" tools which you may find in darker corners of the internet, as there's a high probability that the tools you'll stumble upon are remote-controlling tools which could be defined to be malware. I'm sure that's exactly what you'll want to avoid. The examples I listed above are pretty common and pretty well-known.
This is security.SE, so…
please note the different security aspects of the multitude of remote controlling solutions!
As you're on security.SE, I would like to remind you of the fact that there are a couple of differences between using a 3rd party supplier (such as teamviewer) and a direct remote control solution (like VNC).
A bit more information about that can be found as a reply to another question here: How secure is TeamViewer for simple remote support?
All in all — please feel motivated to do some research yourself to see which solution makes you feel the most comfortable to do the job you need it for. I've given you some pretty good hints what to look for.