Can I program the Arduino like a normal chip?

I made some boards myself, i programmed them using C language.
The code looked something like this:

#include <avr/io.h>
#include <stdlib.h>

#define LED (1<<PB0)

void main()
{
 int i;
 unsigned char t = LED;

 DDRB = t;

 for(;;)
 {
   PORTB = t;
   t ^= LED;
   for(i = 0; i < 10000; i++);
 }
}

So is there a way to make things from scratch - just like this? Without using the IDE?

yes, you can, its just an avr with a (modified but i dont know how) STK500 bootloader, it works fine with avrdude and winavr etc

Awesome, thanks!

Without using the IDE?

Why? It's an open source free application so why not use it?