Motumbo, did you figure out the problem? You can change the voicemail number in the dialer settings, but you probably already did that.
A direct dial widget, with the voicemail number in it would the closest thing to a one-button speed-dial.
It depends on the number you have to dial for VM and if you are roaming or not. If you are not roaming, then phone will always try to dial +1###, where ### stands for your local sim card number, if you are roaming you could setup a different number in the VM but it won't work if you have to dial a *.
To make clarify with one local sim the only way to get VM is dialing *+123 actual voicemail number is just *123, I had to read a lot of forums to figure out about using + before the number, If I don't do it, a message of "Invalid MMI code" appears.
As you see it is a mess, if you tell me your voicemail number maybe I could give you a hand.