If you need to specifically disable elements, you can use ListBox component instead of DataGrid. This component supports disabling items: UI Samples :: ListBox Custom disabled
You can also create your own VirtualList component and define a renderer: UI Samples :: VirtualList inline editor
This way you can disable the necessary elements.
According to me yes it is possible to grey out and disable a selected grid item programmatically in Jmix. You can achieve this by using a combination of conditional styling and event listeners.
Here is a step by step approach you can do this.
Add a selection listener to your grid to detect when an item is selected.
Apply a custom style to the selected item to grey it out.
Disable interactions with the selected item by setting it to not editable or using custom logic to prevent further actions.
Hope this will help you