grep is going to be working on a line by line basis, so grep ^09 is doing just what you asked it to do by finding any line that begins with 09
You probably want to use awk, it would be the easiest thing to do. If the data is in the same format that you provided, you could do something like the following:
Code:
awk '$4 == "0000001234"' file