Setting dynamic variables:
There's no need for []'s or any kind of evaluation when setting the variable.
* Note that you had $nick twice in the variable name and I don't think you meant to have a variable with the person's nick twice, so I made one of them just part of the variable name. This will have a variable similar to %nick.Cheezey . Yours, if set up right would look like %Cheezey.Cheezey ... most likely not what you wanted.
Reading/Accessing dynamic variables:
msg $nick $($+(%,nick.,$nick),2)
Breaking that down...
$+() combines items. When used with dynamic variables, the first % should be separated and then each piece of the variable is included with comma separators. Don't put a . or other information directly on an identifier ( $nick. is wrong).
$(,2) evaluates the variable once you create the variable name. The $+() puts together all of the pieces into a variable name and then $(,2) evaluates it so you're able to see what is in the variable.
* You
can use []'s instead, but []'s are meant to show order of operation, not for evaluation. They will work in most cases, but it's usually better to use the method shown above so you don't run into problems later.