You can get free [sub]domains from no-ip.com, which you can use instead of IP addresses when connecting to your computers through RDP.
They have a DNS Update Client, but many routers have the ability to send IP updates to no-ip.com and other DDNS providers.
If you already have your own domain, you may prefer to use ZoneEdit, which is what I have been using for the last two or three years instead.
As the title of this question may bring other people here who are looking for something a bit different, this is a script I made to show your public IP address from the Windows command line (you need wget for it to work):
@echo off
:: WhatIsMyIP.cmd
if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
wget -q -O %temp%\MyIP http://automation.whatismyip.com/n09230945.asp
for /f "delims= " %%G in (%temp%\myip) do set PublicIP=%%G & del /q %temp%\MyIP
echo. & echo Your public IP address is %PublicIP%
if [%1]==[--clip] echo %PublicIP% | clip
goto :EOF
:HELP
echo. & echo Usage: whatismyip [--clip]
goto :EOF
:EOF