Depende mucho del tamaño que ocupen esos datos en el fichero tendrás que aplicar una u otra técnica.
La lectura escritura en disco lo puedes hacer con (Estamos hablando de un TXT plano.
'Para abrir el fichero
Open "<nombre del fichero>" for input as #hd
'Para añadir datos
Open "<nombre del fichero>" for append as #hd
Código:
'Para leer el fichero en un array
dim lin() as string, items as long
dim hd as integer
hd = freefile()
Open "<nombre del fichero>" for input as #hd
do until eof(hd)
items = items+1
redim preserve lin(1 to items)
line input#hd, lin(items)
loop
close #hd Código:
'Para actualizar el contenido del array
dim i as long
dim hd as integer
hd = freefile()
Open "<nombre del fichero>" for output as #hd
for i = 1 to ubound(lin)
print #hd, lin(i)
next i
close #hd
Ahora bien, como te comento al principio, depende de la cantidad de datos. Si son unos pocos (100 o 200) el código que te muestro puede servir perfectamente pue para buscar un dato puedes recorrer el array linealmente sin fatiga aparente.
Si los datos son superiores a esa cifra y no rebasan por ejemplo 10000 líneas, tendrás que plantearte hacer lecturas-escrituras binarias y utilizar colecciones de datos (Clave-Valor) o un árbol binario para realizar el tratamiento de búsqueda.
Cualquier otra cosa es mejor utilizar un gestor de base de datos que te resuelve cualquier acción de mantenimiento de los mismos.
Espero que te resulte útil.