prima devi leggere la "stringa" e poi valuti che il primo carattere sia nell'intervallo
come fai tu prima controlli che sia nell'intervallo e poi la leggi


codice:
#include <stdio.h>
#define MAXP   10
#define MAXL   30
int main(){
    char file[10];
    char parole[MAXP][MAXL];
    char x, y;
    int i=0, j=0;
    FILE *f;
    printf("Inserisci il nome del file: ");
    gets(file);
    printf("Inserire i due estremi dell'intervallo di caratteri in base al quale selezionare le parole contenute nel file: ");
    scanf("%c%c", &x, &y);
    f=fopen(file, "r");
    for(i=0; i<MAXP; i++){
        while(parole[i][j]!='\0'){
            if(parole[i][j]>=x && parole[i][j]<=y){ //qui fai un controllo ma devi ancora     leggere   il file
                fscanf(f, "%s", &parole[i]);
            }
        }
    }
    fclose(f);
}

secondo me il file lo devi leggere comunque quindi un while e feof


codice:
#include <stdio.h>
#define MAXP   10
#define MAXL   30
int main(){
    char file[10];
    char parole[MAXP][MAXL];
    char stringa[30];
    char x, y;
    int i=0, j=0;
    FILE *f;
    printf("Inserisci il nome del file: ");
    gets(file);
    printf("Inserire i due estremi dell'intervallo di caratteri in base al quale selezionare le parole contenute nel file: ");
    scanf("%c%c", &x, &y);
    f=fopen(file, "r");
   while(!feof(f))
   {
     
       fscanf(f, "%s", stringa);
       if(stringa[0]>=x && stringa[0]<=y){
              strcpy(&parole[i],stringa);
              i++;  
            }

      
     }
       fclose(f);
}
P.S.
Posso aver commesso errori sulle matrici perchè non le uso !
comunque leggi il file controlli che sia nell'intervallo e se è cosi le memorizzi nella matrice.
credo che volevi fare una cosa del genere