Even if it was technically possible[1], I don't think it's any more feasible than forcing citizens to publicly declare the serial numbers of dollar bills that they hold.
[1] By design, Bitcoin addresses are supposed to be single-use. Reusing them is a security risk and not recommended (recent android vulnerability is a good example - it only affected reused addresses). Every transaction done with the standard client usually creates a new address (to send the change), which is not even visible in the interface. Merchants accepting Bitcoin usually create a new address for each invoice, etc. etc.
In other words, the way Bitcoin is used is fundamentally incompatible with the public declaration of addresses. If the government has the power to change this, it might as well make Bitcoin completely illegal and not bother.
It's trivial to make a wallet program that would report the new addresses as it makes them, one for each new transaction. That's really not a big limitation.
[1] By design, Bitcoin addresses are supposed to be single-use. Reusing them is a security risk and not recommended (recent android vulnerability is a good example - it only affected reused addresses). Every transaction done with the standard client usually creates a new address (to send the change), which is not even visible in the interface. Merchants accepting Bitcoin usually create a new address for each invoice, etc. etc.
In other words, the way Bitcoin is used is fundamentally incompatible with the public declaration of addresses. If the government has the power to change this, it might as well make Bitcoin completely illegal and not bother.