1) 2 раза кликаете по гриду, открываете список столбцов, выделяете первый столбец, в object inspector свойство ReadOnly ставим True...
Такое проделываете со всеми столбцами которые должны быть недоступны для редактирования.
2) для этого, необходимо почитать статьи про вычисляемые поля, а так же про поля типа LookUp. При правильном подходе, уверен, у Вас все получится.
3) Выделяете Грид. На закладке Events находите событие OnGetCellParams, и в теле этого события пишите примерно такой текст:
Код:
If Table1.FieldByName('Check').Value = True then
Background := clRed
else
Background := clBlue;