I heard it is better to use storage and servers from the same vendor in a cluster, but not sure if there is such best practice or not? I would appriciate any link.
To be honset i don't think it matters aslong as your hardware is on the Micorosft HCL list for clustering then you'll be fine. obviously if you need support from different groups it can be tricky to co-ordinate...
I've worked on clusters almost as long as they've existed (over 20 years) and although I have heard many vendors say that when they wanted make an add-on sale, I have never seen any evidence of it.