Would it be possible to make a functional Bitcoin fork that confirmed a block of transactions every millisecond? How fast could you possibly run a blockchain like bitcoins'? Could blocks be added as fast as a microsecond while still having a functional currency?
You couldn't make functional Bitcoin-like fork with that fast of block mining. There is a tradeoff between speed of block creation and consistency of the network. In Bitcoin the blocks are created infrequently enough that the entire network can agree on the canonical blocks quickly and transactions can propogate quickly enough of that they tend to get included in blocks fairly quickly (assuming that miners aren't ignoring them due to low/no fees).

If a fork aimed for a block generated a millisecond that would imply that network latency would result in thousands of blocks happening before you could even see the first one. In Bitcoin there are occasional forks of the blockchain due to propagation delays, but they are very quickly resolved by the network. A fork with millisecond blocks (and a large user base) would certainly have thousands of competing forks at any given time, and it would take tens of thousands, maybe even millions of confirmations before it became clear that a fork was dominant. (By which time, there would be thousands of forks of that fork.)

Plus, even without any transactions, each block has a minimum size of overhead, so the size of the blockchain would be growing at an outrageous rate. The same would apply to network bandwidth: the amount of chatter between the nodes would be outrageous: none of the nodes could keep up with the volume. Especially given that the volume would have so much duplication between all of the competing forks of the blockchain.

As Colin Dean points out, Litecoin has established a 2.5 minute target. So changing the target block generation speed is possible. But every time you go lower, the overhead and consistency gets harder.

What's the theoretical maximum? It's hard to say since so much depends on how globally distributed and large the network is. My wild guess, given current technology: anything much less than a minute would have a lot of forks and a lot of overhead. Anything less than a few seconds would almost certainly fail to achieve any kind of stable consensus about the blockchain.