Can you run an LED with analog pins?

Thank you. I am using Port Manipulation to run the LED's. I need to make a very simple array where one LED turns on and the previous turns off, then the next one turns on and the previous off (something like a shooting star or a knight rider). With Port Manipulation I've been able to clean my code however I have never tested it with more than 20 LED's.

I had no idea I would have problems with the duty cycle (I don't know what a duty cycle is and can't find a good explananation on the arduino.cc site) Sorry I'm really starting with arduino and code!!!

Today I received this code which might be helpful. It's a little hard to understand but as soon as I make it work I will post my results. It seems that with this code I won't need to charlieplex and I would be able to run all LED's in two pins. IS THIS RIGHT?

unsigned char cathodes[72] = {1,2,0,2,3,4,5,6, ...};
unsigned char anodes[72] = {0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,...};

void light_cp_led(unsigned char N)
{
static unsigned char last_n;
pinMode(cathodes[last_n], INPUT); // turn off previous LED
pinMode(anodes[last_n], INPUT); // on both ends
pinMode(cathodes[n], OUTPUT); // turn on new LED cathode
digitalWrite(cathodes[n], LOW);
pinMode(anodes[n], OUTPUT); // turn on new LED annode
digitalWrite(anodes[n], HIGH);
}