There may be a way to do something like this with a phone number without using the phone number from an active SIM.
For example, using a Google Voice phone number: set all messages in GV app to forward to the SIM number. As the new text messages start coming into the iMessage app, they appear to come from weird unknown numbers. but which are Google's proxy numbers. Then you compare those new texts to the ones in GV app to see who they are from. You then save them from the iMessage app to the correct contact, with that proxy number assigned as a pager, to know which is the proxy number. After doing this, text back via iMessage and the other party gets the response from the GV number. It's a hassle to do it for all incoming new messages/contacts, but once it's done per contact, it is not a hassle with that contact again. It's a workaround, not a generally attractive one.