Not sure if this will help because I am not using SP...just an Access DB...
I gathered all short names (such as J. DOE) and corresponding emails of my dept and stored them in a db table and added as a secondary data source.
Added a role and approval section that has fields such as "Requestor:" or "Final Approval:" in which the requestor fills names out.
Created different email submits for each role.
On the "To:" field in the email submit, I used the follwing rule expression:
@Email_Adress[@ShortName = @Requestor] or @Email_Adress[@ShortName = @Engineer]...etc.
This gives an email address from the table filtered by user input of short name = particular role.
Fairly low tech and a bit of work to setup...but works good for the little stuff I am doing. Downside, I had to know upfront EXACTLY what everyone's email address is.
Having that said, if you don't know the exact email address...you could probably use concat() or a simlar expression to build the address based on user input.
Hope that helps :)