About your first question:
In order to control the reordering of the RadGridView's columns, you can subscribe to the ColumnReordering event and add some logic in the code behind. Check this forum post for reference. Although it is for Silverlight, the approach is similar and you can get an idea from it. In your case, you can check Column's group and cancel the reordering when you try to reorder a column to a different Column group.
About your second question:
In order to achieve your goal, you can predefine the GridViewLoadingIndicator's template. Please find attached sample project showing you the approach.
the Telerik team