I have made this change in many environments. However, you do have to go searching for some problems in the code for it to work properly. I'll describe some of our changes. Do this AT YOUR OWN RISK and test everything fully. This post is for educational purposes and discussion only.
First, NEVER change the RealBase EDT. The effect is far too wide spread.
Your original question seems to just be interested in Quantity and Price precision, not Amount precision. These are all 3 very distinct concepts in AX, and the EDT structure is relatively well constructed to allow for some of this.
Under General ledger, Setup, Currency, Currencies, expand the Rounding rules fast tab to locate where the precision is setup for prices. Leave the General rounding rule at 0.01. We have our Sales orders, Purchase order, and Prices rules setup at 0.000001.
Under Organization, Setup, Units, Units, each unit of measure defines its own precision. We use 6 for all of them.
For pricing precision, the EDTs Price and PriceCur are the foundation of much of the system. We have the NoOfDecimals for these set to 6. Also PriceRoundOff and RoundOff.
For quantity precision, the problem is largely one of display in many places, and built-in rounding in a few. The EDT BOMQty, for example, we have set to 6, as well as BOMMeasureDimension.
Then there are places where the schema is just messed up. In table PriceDiscTable, the Amount field (which is where your unit price is stored when you create trade agreements) has the EDT of AmountCur, but since the field typically holds unit prices and not extended currency amounts, it should be PriceCur in my opinion.
I can't imagine a case where someone would use a lower precision for pricing than for currency.
In any case, you can get a lot of mileage out of using the "Price unit" fields (which act as a scale modifier), so 0.0015 becomes 15.00 per 10,000, without making any changes to the system. Unfortunately in my experience this tends to seriously confuse a lot of entry clerks.