For Bruker diffractometers there is a software module search/match implemented in Diffrac.EVA which allows to search several crystallographic databases like COD and pdf2 or pdf4 and match peaks. http://en.wikipedia.org/wiki/Crystallographic_database
I don't get it: do you like to find the different phases in a certain ash, or do you want differentiate different ashes from their XRD patterns? For the first application you should scan literature which are the typical phases. For the second you need to scan literature again and search which are the typical phases for each of theses ashes.
A major problem will be the high amount of glass in ashes. Nevertheless, the procedure for all of these investigations are similar. Whether there are specifically developed programs (as for cement) I don't know (and I don't believe since the market of customers willing to pay for it is clearly smaller then for cement industry :-) ).
Ashes are often very difficult to identify. You need the best quality data that you can get, so that means long counting times. As has been mentioned the amorphous component will give you high backgrounds. If it is bituminous coal then it may be high in Fe and if you are using Cu anode you will get raised backgrouds from that also. This can be overcome by using Co radiation, using an energy dispersive detector or by adjusting the window settings of some detectors.
If possible get a chemical analysis from XRF or ICP and use those results to inform your XRD phase identification from the databases as there can be isostructural solutions that cannot be resolved by XRD alone.