The question is that if the datasheet speficies the maximum frequency as 6MHz, can I decide that it will be safe to set up clock speed exactly at 6MHz(accuracy determined by crystal used for MCU)? Or It is safer to have some margin?
No, 6 MHz is guaranteed to work by the specification.
In practice you will very likely find devices which can work up to 8 or even 10 MHz. But it is not guaranteed that that will always work for all power supply voltages, temperatures and all chips from any batch.
The 6 MHz however is guaranteed over all conditions. So no, you do not need a margin as long as your 6 MHz is accurate enough (and it probably will be as it is usually derived from a crystal based clock).
Note that the clock high and low widths are specified as 83ns min, which works out to just over 6MHz, question is can you guarantee to meet those timings (Which requires your SPI clock to be pretty much an exact 50% duty cycle)....
When figuring out how to meet timing you generally need to look at the data sheets for both ends of the link, and then do some sums to see what the maximum frequency is with worst case timings on both ends, just looking at one end only tells you what may be possible, not what will be possible (as that depends on both sets of timings).
Actually Bimpelrekkie's answer is not correct. You should consider the propagation delay between master and slave either. You can find the detail information in the link Using SPI protocol at 100 MHz.