Ok, let's call this operation "hashing"
and yes, it takes longer time to hash a bigger block, then a smaller one
I am not sure in this, because I don't know
what is hashed - the whole body of the block,
or the header (with constant size) of the block only
each transaction is hashed to create a transaction id, all these transactions id are hashed together in a tree, called a merkel tree(
http://en.wikipedia.org/wiki/Hash_tree). and root hash of this tree is but in the block header. a block header is always 80 bytes long, and this is what miner are hashing on.
this means that every time there comes in a transaction the merkel tree has to be rebuild, but this takes only a small small part of a second to do so, so this is not the problem, and this is done on a mining server. The reason why mining blocks is slow, is that hash are completely random, and you want to get as many 0's as possible(fliping a coin, and trying to get 60 tails in a row).