If subtasks are the way to go, that's fine. I just need to figure out a way, for each approval (perhaps 4 to 6 of them, in sequence, depending on field values), to:
1) Have only members of a group see the approval request (or subtask)
2) Have only members of a group able to approve (or run a single transition in the subtask)
3) Auto-populate a custom field and date-time field (date field without time would be OK) with the name of the approver (or transitioner if using the subtask solution)
I have gathered that there is no good solution using a workflow alone, without subtasks.