How to toggle visibility of sender? I am trying to track inventory as it flows through the supply chain.  This inventory requires chain of custody.

The original transaction would be from the manufacturer for a number of Satoshi equal to the quantity of units in the block.  It must be verifiable that the wallet that created the transaction was from the manufacturer.

Subsequent holders of inventory should be allowed to be anonymous or public on a per transaction basis.

How can I accomplish this?
There are a lot of protocols that sit on top of bitcoin that do something like what you're asking. They're mostly called "colored coins" (see http://coloredcoins.org/)

Basically, the idea is that you need some way to create the inventory tokens on the bitcoin blockchain, then track them using normal bitcoin transactions. The big thing to note is that there is a 5430 satoshi minimum for transactions, so the various colored coins protocols (at last count, at least 5) try to get around that in some way.

Best of luck in finding a solution.