PoW for transaction value

There is no need to have so many decimals for a basic RAW transaction today. Obviously if Nano had global adoption it could be useful, but not today. It might be useful to allow the difficulty by price range in the configuration file. The minimum transaction for many exchanges is 1 Nano. You can set different difficulty levels based on the amount:

1 Nano or higher = 1x difficulty
(1-1 raw) to 0.01 = difficulty x1.1
(0.01 - 1 raw) to 0.001 = difficulty x2
(0.001 - 1 raw) to 0.0001 = difficulty x4
(0.0001 - 1 raw) to 0.00001 = difficulty x40
(0.00001 - 1 raw) to 0.000001 = difficulty x400
<0.000001 = difficulty x40000

Each node could customize the difficulty and change parameters based on Nano's market capitalization. Wallet providers can allow transactions of up to 4 decimal places at these price levels and the population of emerging countries would not be penalized. Everything would be manually adjusted by the node owners in a similar way to what was done to limit bandwidth.

An attacker can still spam the network with a higher transaction value.
A smart dynamic PoW needs to also take into account total wallet balance and time between transactions if this were to halt a spammer.

Currently, an attacker can get Nano from a faucet and use it to anonymously spam the network. If you have to use tens of thousands or hundreds of thousands of Nano you are less anonymous. The PoW by price range is designed as one of the measures to discourage spam, not the only one and has the main purpose of discouraging that part of the spam referred to the infinitesimal amounts.
If you also introduce the PoW by price range you must have, in addition to hardware, also a wallet with many Nano.