For the most part, any phylogenetic program or package will let you make a tree out of any data that you would like. I'm not a big fan of the MEGA program, but here's a good list of tools. For example, in a nexus file you can mask any site you would like from the data analysis. You can also weight certain sites if you have reason to believe they are more informative than other sites.
As far as synonymous sites -- why would you want to use them? If you only consider sites that are the same across all the taxa in your matrix you will not have any signal to resolve a phylogenetic tree.
Am I misunderstanding your question?