dd works only on a byte-by-byte basis. It'll copy a filesystem fine as long as the destination partition is big enough.
True. I guess what I meant to say, is that it's hard to make the new partition exactly the same size as the old one unless the drives have similar geometry. (Having partitions not aligned to cylinder boundaries is technically possible but breaks dual-booting to Windows.) But yes, Linux is perfectly happy with a filesystem that's smaller than its partition. Just make sure it's not the other way round!

Peter