Tangential, but to 1.: Isn't RCS just built upon TCP/IP and SIP? Why can't you just implement it in user space? Or does it need to send some magic packets through the modem? It is really hard to find details on the protocol.
The specifications are public, but yeah it requires a lot of work to get into.
That being said, I think neither of those limitations apply to Google's "RCS" (which bypasses carriers, so they can't get their own IPv6 connection and I don't think they can use SIM challenges for auth), so I think it should be possible in a 3rd party app.