How to design a GUI using GLCD?
reduce your "UP" button code like this

look for other similar areas

think clearly about what the code does at every point in the program listing

note: your indentation is slightly inconsistent

if(bit_is_clear(PINC, 6))
{
    UART_Send_String("UP\n");

    set_x_y(0,cursor_index);        // roll these two lines into a function if they repeat a lot 
    PCD8544_send_char(' ');

    if(cursor_index = 0)  cursor_index = 6; 

    set_x_y(0,--cursor_index);      // decrements cursor_index before calling set_x_y()
    PCD8544_send_char('&gt;');

    _delay_ms(300);
}