For example, what if I want to send a person 0.001 USD in Monero to his wallet, would it be possible?
You can send as little as 1 "piconero" (1 atomic unit). This makes no economic sense of course, as the fee will be at least 2 billion times larger (depending on number of inputs).
Smallest in bytes: roughly, a tx with mixin 0, with a single input of an amount for which there are no two other outputs of that amount on the chain (so mixin 0 is allowed), and no outputs, no extra. You just pay the fee. The input would have to be at least 0.002 (current per kB fee) if you are not mining it yourself, but can be anything nonzero if you do.
Smallest in value: send an input of 0.002 monero, no outputs. Just enough for the fee.