If you want the easiest way to process you should store it in JSON.
[
{ country: 'USA', state: 'CA', city : 'Oakland', county: 'Alameda' },
{ country: 'USA', state: 'CA', city : 'Markleeville', county: 'Alpine' },
{ country: 'USA', state: 'CA', city : 'Seattle', county: 'king' }
....
];
If you want the smallest filesize possible you should use CSV:
Country,State,City,County
USA,CA,Oakland,Alameda
USA,CA,Markleeville,Alpine
USA,WA,Seattle,king
If you want something in between you can use compressed JSON format:
[
"cols": ["country", "state", "city", "county"],
"rows": [["USA", "CA", "Oakland", "Alameda"],
["USA", "CA", "Markleeville", "Alpine"],
["USA", "CA", "Seattle", "king"],
... ]
};
Explanation
With JSON you get a native Javascript object which is loaded via <script> tag or Ajax. If you go with the compressed JSON format you still get a native object, the only difference is in how you use the data. With CSV you should write your own parser, but the small size may worth it.
You can read about the performance implications of JSON and a custom format here:
Building Fast Client-side Searches for Flickr