You could just get an allocation from RIPE for example, they'll give you a /29 without any justification required. Pretty much all dedicated server hosts will have a plenty of IPv6 space they can give you for a few $ per month.
Tunnels would've been too slow for my purposes.
> Can you set external IP per request?
Yeah, of course. You can just use the IP_FREEBIND socket option.