What transaction modeling and packet linking frameworks exist?
I would use a higher-level programming language like Python to build the verification environment you are describing.  You can build "transactors" that translate for a simple queue put/get to driving the actual signals to the RTL interfaces.  You can build your complete verification environment around a model. Then insert the RTL.