It will cause dynamic allocations, weather or not that's an issue to you is a different question.
F() uses PSTR, so you can do this instead:
//Inside a function
char *test = PSTR( "TEST" );
char *test2 = PSTR( "TEST2" );
//Or globally
char test[] PROGMEM = "TEST";
char test2[] PROGMEM = "TEST2";
stuff_progmem( char *str ){
//Access str using pgm_read_byte funtions.
}
EDIT: modified the code to show both local and global declarations.