Примерно так должно работать для выравнивания:
var cellStyle = new System.Windows.Forms.DataGridViewCellStyle()
cellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight
dataGridColumn.DefaultCellStyle = cellStyle
Для раскраски вы, вероятно, должны обработать событие рисования сетки данных и выбрать другой DataGridViewCellStyle для отрицательных чисел.