It would be pretty easy to implement this using the Bitcoin source:
Have the central bank generate a private key K. Hardcode the corresponding public key into the source. Modify the transaction verification code so that any transaction signed by K is allowed to have outputs that exceed its inputs (or no inputs at all).
Modify the verification code further to reject regular "coinbase" transactions. Miners can still mine, but rather than getting a block reward, they are rewarded only by transaction fees (a la Bitcoin in 2140). So you still have the decentralized transaction register confirmed by proof-of-work, but mining doesn't create new money.
Change port numbers and version bytes, mine a new genesis block, all the other stuff that any altcoin needs.
Now the central bank can create money at will, just by signing a transaction that has no inputs but does have outputs (paying the new coins to somebody of their choosing).
The central bank can destroy money that it holds, simply by sending to an eater address with no private key. This doesn't need any changes as it's already possible for anyone to destroy their own Bitcoins this way. If you want to give them the ability to destroy money held by someone else, you could add a rule that a transaction signed by the central bank's key may spend any output.
In practice it might be better for the central bank to have a relatively large number of private keys, and a system to revoke specific ones in case they are compromised (perhaps with a special kind of transaction).
Of course, the hard part would be convincing people that this is a good idea, that your central bank is trustworthy, etc, etc.