ciao,
innanzitutto confronti un puntatore a char con un char, un buon compilatore ti dovrebbe segnalare l'errore.
Poi non esegui il controllo if quando fai il salto incondizionato al label inizia:, che devi posizionare prima dell'if.
Comunque studiati il costrutto while e prova ad applicarlo in sostituzione del salto incondizionato.

codice:
#include <stdio.h>
int main()

{

char tm[10];
char fine;
char rng[20];

	printf("\nDigita una parola: ");	
	scanf("%s", &tm);
	printf("\nHai scelto la parola: %s\n", tm);

printf("\nDigita una parola: ");
	scanf("%s", &rng);  

printf("\nHai scelto la parola: %s\n", rng); 

FILE *fp;

fp = fopen("parola.txt", "a+");
fprintf(fp, "la prima parola immessa è: %s\n la seconda parola immessa è: %s ", rng, tm);
fclose(fp);

inizio:
if(strcmp(rng,"fine"))

	{


	printf("\nDigita una parola oppure 'fine' per finire: ");
	scanf("%s", &rng);  

		printf("\nHai scelto la parola: %s\n", rng); 

		FILE *fp;

		fp = fopen("parola.txt", "a+");
		fprintf(fp, "la prima parola immessa è: %s\n la seconda parola immessa è: %s ", rng, tm);
		fclose(fp);
	
goto inizio;
}
}