Watching grass grow will not help you tell the time.
Digging through the Minecraft source code to find an answer to your question revealed the following problems with calculating an average time for grass to grow:
- It checks for grass two blocks in the North and East direction but only one block in the South and West. On the surface this appears to double the rate of growth depending on the direction your dirt column is oriented, but it is more complicated than this because the grass may actually skip a dirt block, creating random acceleration in the growth as well as a random interval.
- The test for a nearby grass block to 'grow off' is from a randomly selected cube 4*4*6 blocks around the dirt block (it seems that grass grows downwards faster than any other direction. Interesting but irrelevant). You would need to provide a totally grass free area around the start of your dirt column EXCEPT for one grass block at the beginning of it, otherwise it will start off faster and then slow down. If the starting grass block decides to grow of it another direction you are back to square one with an uneven growth probability.
- The actual time taken between these random checks is buried deep inside the Entity Renderer. Both the frame-rate (for every single frame for the duration of the growing period) and the rendering quality (from the option menu) will have a significant impact on how often it will check for a nearby grass block.
So what we have is a cascading series of random probabilities tied in with the rendering speed of your computer defining the 'average' speed that grass grows.
Okay, but what is the average time it takes grass to grow
After about 20 samples of the growth rate in game I calculated an average speed of one growth every 2 minutes 45 seconds. However, this figure is only accurate on my PC, was calculated by ignoring blocks that were way outside of the standard deviation (grew too fast or slow) and is a very rough approximation.
There is still hope!
So your hopes of telling time stochastically from grass are riddled with problems, but there are other methods of building giant in-game clocks. Since redstone repeaters are Turing complete and perfectly timed, it is entirely possible to build a fully functional clock in Minecraft.
After a bit of testing, I think I have determined the cause of this bug. It actually has nothing to do with how far away you are from the block. In fact, it seems to have something to do with a bug in Minecraft which has been fixed known as "click mining".
When you mine a row of blocks the "normal" way, standing directly in front of them and holding forward, the system works properly. Say you're mining a row of dirt blocks with a diamond shovel. There is a small amount of delay between each block's destruction and the next block destruction's beginning. If this is hard to understand, basically the arm has to swing back up before the next block can get hit, so there's a small amount of delay.
Someone discovered this and introduced "click mining" to the scene. All you did was release/repress the mouse button after each block was destroyed. This instantly returned the arm to the "unswung" position, eliminating the delay between each block's destruction. Notch figured this out and introduced a small delay after you press the mouse button down, so it negated the time advantage of click mining.
However, when doing the method you described, the block is broken before you're in range of the next block. So really, there's a small period between each dirt block where no block is in range. This instantly returns the shovel to the unswung postion, so there's no delay between blocks. The click mining fix only adds a delay after mouse presses, and this is not a mouse press, you're just holding it down, so there's no delay. Essentially, you've found a way around the click mining fix.
As for tall grass, it still works with grass on top of it. However, you must be aiming for the bottom of the block, because if the tall grass gets in range, the swing delay is reintroduced, leaving you with the delay again.
Long story short, yes, it's a bug. Still, it's sorta useful in select situations, but those situations are rare, so it's not a really big problem.
Best Answer
Yes, making a bridge more than one block wide will increase the speed of the grass spreading. Grass can spread to any adjacent blocks (including diagonals), from one level above to three levels below the "source" block. If you were to build a one-wide bridge, the grass would have to spread from the first block in the bridge to the second, then to the third, etc. However, with a > 1-block-wide bridge, there are multiple blocks that this algorithm could be run on. Also, grass could spread to the block in front or the blocks diagonally from it, allowing for the grass to propagate faster.