So by definition, a view model would be associated with a view. If you are just using it to hold properties, you'd use some other class or construct.
I'm trying to figure out what the goal is. If "DynamicViewModel" is in another XAP file, and "DynamicView" is in another XAP file, then a few questions:
The main question is whether the view is shown at some point first. Assuming this is true to populate the view model. In that case, you'd have a view XAP route, and raising the navigation for the view would automatically load the XAP, view, and view model.
In that case you can simply interrogate the router and pull it.
As for casting ... if you aren't referencing the XAP, you obviously don't have a type at run time to cast to. In that case, you have a few options.
1. Do you REALLY need it to be dynamic? Are you building a dynamic XAP just to be dynamic or is there an identified need?
2. Use an interface - define the view models with an interface that you CAN reference, then cast the dynamic view model to the interface and interrogate it that way
3. Use dynamic - dynamic vm = yada yada and then vm.Text.
Hope this helps, let me know if I missed anything!