can we configure dfs.block.size less than 64mb and more than 128 mb?
Yes, we can give any size. But default is 128 MB (earlier default used to be 64 MB).
ideally dfs.block.size shall be decided based on the OS architecture. The purpose of this is to make input and output to and from HDFS fast. If size is kept bigger than there might be wastage of space as it allocates the entire block in one go even if it requires less.