I am not really certain what you are asking here, but I'll give it a shot.
You can constrain the size of the XPath set by setting XPath contraints and adding search options (with optional default values).
You can sort items by any attribute (in ascending or descending order), including reference attributes and whether or not these attributes are used in the DataGrid in question. You can, of course, sort on multiple attributes in this way.
Depending on how you have modeled your grid instance you can change search and sort settings dynamically in the client.
The client makes no attempt to store your settings after the grid instance is destroyed.