You described your solution, reading strings as they come over the serial bus.
A few years ago I made a bit of arduino code that read a character from the serial line and did a simple action (relay open, relay close, relay position, etc) I can probably dig up the code from that given time.
In my DDSVFO implementation, I use SI5351a boards since they make a nice strong square wave. They talk to the arduino using I2C. I also use an I2C/HD44780 adapter to drive the display to save I/O on the arduino. The display and Si5351a sit on the same bus, then the rest of the arduino pins are free for buttons, relays, and A/D inputs. My "brain board" uses a single arduino and has enough I/O to drive T/R and sequencing relays, 4 ADCs to sample current, voltage, power, etc. My low level PWM modulator sits on the same board as well.
You have my number, send me an email and I'll share more details.