Should I use Counter1 to record time series data?
Sounds fine.  The way this is generally done is to have the timer rollover throw and interrupt, which sets a flag.  In your main loop, handle everything that needs handling, and then wait for the flag to be set.  Once set, reset the flag to zero, call your read routine, increment your index, then repeat.

This assumes you have time to do everything you need to do between timer rollovers.  If you don't, it's a more complicated issue.

Pseudocode below.  Each compiler will have different ways to define interrupt routines.

int1 flag=0;


null timer_isr(){
flag=1;
preload_your_timer_to_correct_value; // there are more exact ways to do this
}    


main {
            int8 x=0;
            setup_and_start_your timer;
            preload_your_timer_to_correct_value;
            x=0;  //This is your index


                while (1) {
                while (flag==0) {} //program will hold here
                flag =0 ;
                read_data_and_put_in_location x // pseudocode, obviously
                x +=;




                }

        }