Seems a bit of a roundabout way, but perhaps I'm missing something. It looks to me like you want to change the pin name to 'func1' after you've placed it, which would then select whatever the parameter 'func1' is set to. Of course, you can just change the name to "SDI" and be done with it.
Alternatively, are you suggesting that 'func1' would be set in the schematic symbol, you place the part and then change the parameter list so 'func1' equates to 'SDI'? That seems a worse way, so I am sure I'm missed some nuance of your request.
If I were wanting to do this, I would use a reasonable list of functions (that is, make the symbol almost as messy like you don't want) and then on placing (or later, after a bit more designing) just edit the name to be whatever useful description is appropriate.