You may want to consider changing hosts. I have an https server setup with hawkhost.com for $6 / month + $2 for the private ip which I just checked and the $_SERVER['REMOTE_ADDR'] value is set correctly to my ip address. If that's too much trouble then you may just snag the users ip via http as previously suggested.
Chances are you already have an opportunity to store the customers ip before they get to the secure server. You can probably just store the customers ip in their session at that point.
Note that your hosts http and https servers may not share the same session store by default but if they're both running on the same machine you may be able to use session_save_path() to resolve this issue.
Personally I wouldn't stay with a host that tried to upsell me a VPS for the sake of a private ip address.