NSUserDefaults *defaults=[[[NSUserDefaults alloc] init] autorelease];
NSDictionary *dictionary1=[[defaults persistentDomainForName:@"com.apple.LaunchServices"] objectForKey:@"LSPrefsBindings"];
NSDictionary *dictionary2=[[dictionary1 objectForKey:@"U:http"] objectAtIndex:0];
NSString *identifier=[dictionary2 objectForKey:@"LSBundleIdentifier"];
NSString *filename=[[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:identifier];

Cocoa なら、これでデフォルトブラウザのパスが取得できる。
plist の仕様が変わったら使えんけど。