If you're using [openpanel], you don't need to worry about spaces. Symbols can have spaces in them, and [openpanel] sends out a single symbol that includes those spaces. In fact, when you do the [list $1( in your patch, that $1 gets filled with only one element. If it were getting a list, only the first element of that list would go into $1 and everything after the first space would be lost. So you could just get rid of the space handler and it should work fine.
Commas are reserved characters in Pd, and [openpanel] pulls them out of the path/filename before sending it out. I don't know how to deal with it other than getting rid of the commas to begin with.