TeXworks keeps its Typesetting Preferences in a plain text file called tools.ini within its configuration folder. NOTE the contents will vary considerably depending on the TeX engine, here is one with MiKTeX entries.
You thus have two options
a) Edit it directly (ensure you have made a backup, DO NOT edit with TeXworks nor whilst TeXworks is running ) HOWEVER for your case this may not help much as it is what some may call a "flat" format see how the chain of commands
XeLaTeX+MakeIndex+BibTeX has only one program called texify.exe.
For your use we need to specify a single program to carry out your desired options
XeLaTeX -> PdfLatex -> Bibtex -> PdfLatex.
b) Add entries to a new Processing tool definition inside TeXworks Preferences, HOWEVER we have just seen that also is subject to the same limitation of ONE process handler at a time.
So what is the best approach?, well there is latexmk and araura amongst other batch handlers these remove much trial and error.
Since we can see the contents of the ini we could home brew fairly easily and add an extra tool
NOTE I have 18 so the next one to be added is 019 It will differ for you. the -shell-escape should be optional try with and without
MyTool.cmd must be somewhere on "path" , ideally alongside the MiKTeX binaries, but that is not essential if they are also on path.
Rem highly simplified to only take %1 = $fullname as passed by MiKTeX NOTE filenames with spaces are most likely to fail. (that has not been but could be allowed for)
Rem optionally %2 passes --shell-escape
miktex-xetex.exe %2 --synctex=1 -undump=xelatex %1
texify.exe --pdf --engine=xetex --synctex=1 --clean %1
miktex-pdftex.exe %2 --synctex=1 -undump=pdflatex %1
pause whilst testing
:: remove this pause once testing is done
The pause is only needed on first run to check in console it is found and working, normally there would be more messaging but this is a quick and dirty proof of concept.