It sounds like you're looking for a locale-specific way of producing what in the en-US locale would produce "September 08, 2009". That is, a long month string, zero-padded date, and four-digit year. This is what ToLongDateString() produces, minus the weekday.
You can use:
DateTime date = DateTime.Now;
string formattedDate = date.ToString("MMMM dd, yyyy");
Console.WriteLine(formattedDate);
As described in the MSDN article discussing custom date/time format strings (and see the Notes section at the bottom), the result produced will be localized according to the Regional and Language Options control panel settings.
The format strings discussed in that MSDN article give you a lot of power and control, though I do find myself having to refer back to it every time I need to create a custom format string.
EDIT: reading the OP's edit, I see my solution doesn't meet his needs. Some of the 'trim' methods in other answers come closer.
The main problem: Microsoft has researched the appropriate long date format string for each locale. You're asking for some way of producing a different date format customized for each locale, programmaticaly. Trimming the 'dddd' from the CultureInfo's LongDatePattern will get you close, maybe close enough, but for all you know, Norway has a completely different way of representing a date when it doesn't include a day-of-week. See Adam's comment to sixlettervariables' answer for a locale (Georgian) that will throw you off.