I tried Meego and Angstrom, and settled on Angstrom. It's far easier to make it work, and very stable. The Meego port for beagleboard, on the other hand, had many glitches. I didn't test the other OSes, but I'd say Angstrom seems to be the best choice for both community support and stability.
To install the OS is quite simple: you download an OS image to an SD card and make some changes in the bootloader to make it boot from the SD. There are some ready-made OS images at the Angstrom website, along with recipes to install it on the SD. Basically you'll create two partitions: a smaller FAT for the boot and kernel, and the other for the root filesystem containing everything else. Here's one site containing instructions for SD boot:
You could also make it boot from the NAND flash, but I'd recommend to save this option for later when you're more comfortable with the device. Since the NAND is limited, you'll need to create a custom image using bitbake to make it fit, that's the kind of work you won't want to do right now.
About debugging, the best way is for you to buy an ethernet-to-usb interface + usb hub. Then you run gdbserver in your beagleboard and can use any gdb-compatible debugging IDE at your PC (I use Eclipse CDT).
For the camera interface, the easiest way would be to use the GPIO pins at the expansion connector; the drawback is that you may have a limited frame rate due to the bandwidth limitation, and also yo'll make the processor busy while transfering the image; on the other hand the GPIO is so flexible that you probably won't need any additional circuit to connect them - provided their voltage is compatible (the GPIO works at 1.8 V). There can be other ways if you want a higher frame rate and need the processor available for other parallel tasks, but I'd recommend to leave that for a second round of design.