If you don't perform an image backup, don't backup the /proc, /sys, /dev or /tmp partitions. The first two are psuedo filesystems. /dev is created when you boot, and backing up /tmp would be a waste of time. You can also use tar, which is what dump would use.
HDD's sizes must be the same
Yes, if you restore the image. You could however create your partitions on a new drive, and then mount the partitions that exists in the image backup. Now you can simply copy them to the new hard drive.
Run "fdisk -lu" to print out the starting points of each partition on your system. You can use the offsets with losetup to attach a loop device at that offset. A hard copy printout of the "fdisk -lu" results will make this process easy.
sudo /sbin/losetup -fs -o $((512*<offset>))
sudo mount -t <filesystem> /dev/loop# /mnt
Where offset is the block offset to the start of the partition. loop# is the loop device, such as /dev/loop0, which the losetup command returns.