Sobre el tema del lenguaje, utiliza el que mejor conozcas. C# tiene una librería más amplia y es orientado a objetos.
C es un lenguaje estructurado.
Antes que C, yo recomendaría C++, que viene siendo casi lo mismo, pero orientado am objetos y con una mayor librería estándar.
Pero si no lo has usado nunca, mejor usar el lenguaje que conozcas; este proyecto, como cualquier otro, se puede hacer en prácticamente cualquier lenguaje.
Elegido el lenguaje, viene el proyecto.
Olvídate del SQL. Empieza haciendo un programa para leer, insertar, editar y eliminar registros de 1 sola "tabla". Una vez tengas controlado este tema, lo otro es prácticamente lo mismo, añadiendo el lenguaje SQL.
El tema más crítico en este punto, es el cómo almacenarás los registros en el o los archivos. Es lo más "complejo", pero en absoluto difícil.
No tengo ningún link sobre archivos per sé, lo único que puedo decir de ellos es que son bytes, que puedes escribir y leer
!
Si tal, una vez decidas el lenguaje, pueda ayudar más con algún tema acerca de manejar archivos en ese determinado lenguaje.
En cualquier caso, ¿Trabajaste de algún modo con archivos hasta ahora?