Yes, you can do this. For example "g p > s" will group the results by priority and then sort within each priority by state (so that todo starts come before done starts).
If you tap the ? on the bar that appears above the keyboard when searching you'll find an overview of how to group and sort.
Once you've got a search that works then you can create a saved search to easily bring it up in the future.
Grouping/sorting by priority is very handy! But I notice that tasks with no explicit priority appear at the bottom of the list, whereas org-mode considers the default priority to be [#B]. I find it convenient to mark tasks [#A] to get them near the top of the list and [#C] to keep them near the bottom. The bulk of tasks should be in between, sorting as if they were marked [#B]. If also seems as if I can't do this myself in scheme, since sorting search results in scheme is not supported. Can I call it a feature request for tasks with no explicit priority tag to sort as if they had priority 'B'?
You can take the other approach. Rather than change BeOrg (much), I added a priority on Org. That is:
In library.org the priority list is defined as:
(defvar org-priorities '("A" "B" "C" "D" "E" "F")
"A list of priorites from which the user can select. The order here is how they will be displayed, but don't affect the order when creating the agenda.")
You can therefore change this, for example to match your priorities, as follows:
(set! org-priorities '("A" "B" "C" "D"))
You could then create a template in beorg which defaults the priority to D and then set that template as your default.
Where do no-priority items fall in a list of tasks sorted by priority in BeOrg? Can that be controlled?
Currently items which don't have a priority assigned when being sorted have priority ignored, so alphabetical sorting by title is used.
As Org-mode assigns an implicit default priority to items which don't have a priority it makes sense for beorg to do the same. This should be simple to add into the code so hope to look at this soon.