is this availability of mtd? within linux totally a result of the u-boot argument "mtdparts" within the bootargs environmental variable, for example, mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)? So that this example would give mtd0 as 'uImage' and mtd1 as 'rootfs'?
correct, the uboot mtdparts does the mtd mapping, you could also set it in the kernel config if you do not want to do it in uboot.
Many kernel sizes are less than 0x400000--is there any reason not to start the file system at 0x400000 instea of 0x500000?
You can place your kernel anywhere you want, this is not true for uboot image which the bootROM loads (the address is hard coded in bootROM)