Assuming that the datagridview is bound to a datatable and the date, month, year columns are integer type, then you could add a the Date_Format column to the datatable with one nasty column expression. :)
string expr = "Convert([date], System.String) + IIf([date] > 10 And [date] < 20, 'th', IIf([date] % 10 = 1, 'st', IIf([date] % 10 = 2, 'nd', IIf([date] % 10 = 3, 'rd', 'th')))) + "
+ "' ' + IIf([month] = 1, 'January', IIf([month] = 2, 'February', IIf([month] = 3, 'March', IIf([month] = 4, 'April', IIf([month] = 5, 'May', IIf([month] = 6, 'June', IIf([month] = 7, 'July', IIf([month] = 8, 'August', IIf([month] = 9, 'September', IIf([month] = 10, 'October', IIf([month] = 11, 'November', IIf([month] = 12, 'December', '')))))))))))) + "
+ "' ' + Convert([year], System.String)";
yourDataTable.Columns.Add("Date_Format", typeof(string), expr);