If you're ok with using an external library, then there is [pofutil] in the pof library which outputs a list of arguments when sent a [dollarg( message.
so, like:
[dollarg(
|
[pofutil]
You can then just use pd's list functions (list length, list split, etc) to pull that list apart and check its length, etc.
[route symbol float] should do the last bit you wanted,