My device has multiple interfaces and supports dynamic ips.
SO_BINDTODEVICE looks like it would be used to specify a device in the
listen statement instead of having to update every IP change.

I see someone submitted a patch years ago that wasn’t accepted and
there was no follow on. Is there any particular reason other than this
probably isn’t a common use case? Is this something that could be
added in the future?,234862

SO_BINDTODEVICE was originally put in to allow the DHCP server to tell
which interface a packet had arrived. I don’t see any reason why it
couldn’t be used the way you describe, but I am under the impression
it is somewhat deprecated, and that may be why there was no action on
patch. Your best bet would be to ask the Linux network folks.