I've looked into bare metal programming on the Raspberry Pi and it sounds like what you want to do. There are several good forum topics about bare metal programming with some people who have put in a lot of effort to get their code to work. Check these out for getting started:
Guide to Beginning Bare Metal on Raspi
Programming the RPi on the bare metal
Programming in Basic on Bare Metal Tutorial 1
or in general you can go to Raspberry Pi's Bare Metal Forum and just browse around.
My understanding is that you will have to boot from the SD card due to the boot sequence built into the Broadcom chip. I'm trying to find the link for the boot sequence but my google fu isn't working, I'll edit later if I find it.