What is so special about 5340 instead of some other number? E.g. why not 5320 or 5345?
The smallest transaction value is actually 0 as you are allowed to create 0 value outputs. However such transactions are considered non-standard and thus will not be relayed. But they are completely valid if they appear in a block.
The smallest standard output value (also known as the dust limit) changes with the fee rate. The dust limit for a given fee rate is defined as the amount of Bitcoin where spending the output would result in all of the output's value being paid as transaction fees.
Currently, the dust limit fee rate is 3 satoshis per byte which makes the dust limit 546 satoshis, not 5340. The 5340 satoshis dust limit comes from a time when the dust limit was actually defined differently and the dust fee rate was higher.
The previous definition (no longer used, but was the one used when 5340 satoshis was the limit) was the amount at which one third of the amount would be paid in transaction fees. To make calculations easier, this was redefined to the current definition and the default dust fee rate for calculating this was multiplied by 3. Under this definition, the dust fee rate was ~10 satoshis per byte.