Hi,
if you have a programable clock, constrain the design to the worst case. (This would be in the most cases the maximum frequenze which can be set.
FPGAs normaly can't reache the frequenze as high as ASICs can do.
To the timing violations:
Where do they happen? Are the violations from pins or across clock boundaries?
If the violations happen at io pins, than take sure that the registers in the pins are used. If the violation happens accross clock boundaries there might be a synchronization problem. In normal case different clock domains are unrelated. However Quartus takes all clocks driven from one clock pin (also through a pll) as related.
For this clocks it calculates a needed register to register delay which can be very few (1 ns or less).
If the hold violations happen in the same clock domain, there is a chapter in the quartus II handbook about optimizations.