Нет, fopen
смотрит только в текущем каталоге, вы не можете дать ему список каталогов. Но если вы хотите, чтобы он искал список путей:
char *paths[] = {
".",
"/etc",
"/usr/local",
NULL
};
FILE *fp = NULL;
char path[ENOUGH];
while (!fp && paths[i]) {
sprintf(path, "%s/%s", paths[i], name);
fp = fopen(path, "r");
i++;
}