So I just did some digging around in script files and the old forums, curious about blocking. I compiled a spreadsheet with information about (almost) every item in the game, as relates to blocking. Now, it's already been sussed out of the code (thanks to Squashmonster, in
this thread) that blocking involves a BlockStrength and a BlockValue. BlockStrength is a bit hectic and is pretty specific to the item/weapon in question - it involves factors like hit strength and weapon class skill bonus - but BlockValue is a little easier to analyze in broad strokes.
BlockValue involves two terms, ToHitValue and BlockModifier. ToHitValue is a whole can of worms which involves some crazy ass shit, but we don't need to worry about the specifics; just note that a higher ToHitValue is better. (IIRC, ToHitValue caps out after a certain point, and that point can usually be reached by enchantments. Thus if we're wondering about end-game viability here, we can ignore this value.) Which leaves us with BlockModifier, which is wonderfully simple to analyze: Size * Roundness * 2 (* 2 again if the item is a shield).
So what does all this mean? Well,
here is a spreadsheet I made containing (almost) every item in the game.
The upshot is that cloaks and big chests are tied for the best blockers in the game. (Using these is problematic, however. Also, I'm not sure you can gain any relevent skill with cloaks...) Actual shields are a pretty close second (24000 vs 22800). Everything else is dramatically less reliable: the next in line is Neerc se'Ulb, with BlockModifier = 14000 - nearly half that of cloaks and shields.
Quite amusingly, the Big Mine is the next on the list. In fact, both the Big Mine and the regular Mine are better blockers than any actual weapon, other than Neerc se'Ulb.
In terms of (non-special) weapons, the Mace and the Halberd are the best blockers (7500 and 6800, respectively. Mjolak is in between, with 7200). If you want to play a block-happy build, I recommend a mace and a shield.
Unfortunately, by now we are talking about relatively poor BlockModifier values. Justifier weighs in with the same block value as a Lyre of Charm - 5000. You are as likely to block with a bottle as you are with a two-handed scimitar, at 4200. Short swords have a measly 2100, while whips are at 1000 or less.
The worst blocker I found was the carrot. At 400, you would need to be an excellent carrot warrior to block anything.