Does setting pins as virtual affect timing?
I just finished a project at the customer site mapping an IP with over 2700 IOs. In the first steps the project, we used a wrapper to put all the signals into a giant shift register to make sure they were not optimized. But later on we used the Virtual IOs to get the timing of the design correct and get the right estimate of the needed resources for the project.

Using Virtual IO, in my experience does not affect the timing of your design. You can "FALSE PATH" those signals if you want, but if you don't and those signals are connected to one of your clocks, then you will get the proper timing analysis of those signals.