While OpenVPN has no trouble handling the situation of a dynamic server, some extra configuration is required.
The first step is to get a dynamic DNS address which can be configured to "follow" the server every time the server's IP address changes. There are several dynamic DNS service providers available, such as dyndns.org.
The next step is to set up a mechanism so that every time the server's IP address changes, the dynamic DNS name will be quickly updated with the new IP address, allowing clients to find the server at its new IP address.
For that, use a NAT router appliance with dynamic DNS support, or a dynamic DNS client application such as ddclient to update the dynamic DNS address whenever the server IP address changes.
nik's answer does pretty much covers it, the main thing to remember is that there's a lag between when the IP address changes and when clients get the new DNS response, some ISP's even force this to be on the order of a day, forcing an hour is much more common.
If the IP address doesn't change regularly this may not be an issue.
The FAQ -- Running an OpenVPN server on a dynamic IP address
There is some more conversation at the Slashdot page on
VPN Solutions for Distributed Installations, if you don't mind sifting through it.
nik's answer does pretty much covers it, the main thing to remember is that there's a lag between when the IP address changes and when clients get the new DNS response, some ISP's even force this to be on the order of a day, forcing an hour is much more common.
If the IP address doesn't change regularly this may not be an issue.