Your program is not really complicated, but I don't think it ill serve any useful purpose. First, how to do the program
Use any database (Access, Oracle, whatever) you are comfortable with. Create a table (say WORD_TABLE) with 3 columns, "ID" "Tamil_Word" and "English_Word". Each row in the table will contain a Tamil word and the corresponding English translation. Each ID will be Numeric Number and Primary key.
Write a VB program to access the database. From the table, randomly select a Tamil word (You can use the Rand() function to generate a random sequence) whose Id matches the randomly generated number. To see the English equivalent, simply use a SQL like "SELECT English_Word FROM WORD_TABLE WHERE ID = " & <<randomly generated ID >>.
Of course the Tamil words have to be written in English alphabet letters like "Vanakkam", etc. ( I do not know Tamil, just a couple of words)
But considering your ultimate purpose is to be more fluent in English, simply memorising words will be of little or no use. You also have to know in what context such words are used, the correct grammer, sentence structure etc. To learn English, try reading English newspapers and books written in simple language. Some authors like R.K.Narayan use very simple language and such books will be both instructive and simple to understand. If you don't understand any particular word, you can look it up in a Tamil-To-English dictionary.
All the best