Yes, because there are many dynamic IP address services that allow you to set up a hostname inexpensively or even for free, such as No-IP and DynDNS.
Usually this is done by installing a software client on a PC that uses the public dynamic IP address or is located behind a router. This client checks at regular intervals whether a selected host name points to the current IP address, since the TTL or lifetime of a dynamic IP service is usually very short, to allow for quick changes when the dynamic IP address changes.
In your SPF entry, reference the dynamic IP address by using the hostname, for example: a: name.example.com. However, with any dynamic service, there is always a risk that things will not be in sync. For example, if you send a message to a server that is congested, and that server then performs SPF checking as part of its post-SMTP spam filtering process (SpamAssassin does this), and your IP address has changed in the interval, then the SPF checking will fail. But this is only one reason why operating a mail server with a dynamic IP address is problematic. Also note, for example, that many ISPs use the Spamhaus policy blocking list (or, like AOL, their own list) and do not accept mail from dynamic IP addresses.