1/ If you want to monitor devices in separate VRFs, then yes, you'll need to figure out a way to get IMC to be able to route to them. This could involve route leaking, or possibly something with hierarchical management. Depends on scale, and your addressing/routing. I'd probably be inclined to put the IMC server in a management subnet that is made available to all VRFs.
2/ Depends on network topology, but I would possibly just monitor each switch via the global table, and not trying to poll in each VRF.
IMC does have an "MPLS VPN Manager Module" that you might need for proper discovery of VRFs, etc. This is separately licensed. Haven't used it myself, so I don't know if it it covers what you need.