Should I avoid JavaScript , jQuery, flash, Ajax, Silverlight if i want to make my site cross platform compatible (PC, iPHONE other mobiles, PDA) and Accessible(screen reader compatible)?
Should i only use xhtml css with server side language for wider accessibility?
and for PC pr MAC i made everything first for Firefox so for mobile which browser should i choose?
My advice would be to make a basic site devoid of any fancy stuff (JavaScript, Flash, etc.) and make that site perfectly accessible on any device.
Then if the user experience can be truly enhanced on certain platforms due to fancier technology, build that on top of your basic site and just make sure you're checking who's accessing your site and how, and serve them the right version.
I general, you don't have to avoid those technologies if you want to have multiple production targets. However, more care will need to be taken in order to provide more traditional methods for creating the same functionality. In other words, you will need to gracefully degrade.