This is the way I do it. Maybe there is another better way, so feel free to tell me.

The problem I had was that I could not choose Urdu for spell checking but only some sort of Arabic. So I did choose Arabic, but the trick is to put Urdu into it. It goes like this.

1. I followed the help given by the vim command:
: help mkspell
2. I got the file hunspell-ur-0.64-2.1.el6.noarch.rpm which is e.g. downloadable from here: hunspell-ur-0.64-2.1.el6.noarch.rpm
3. I unzipped it with an Archive manager and got two files called ur_PK.aff and ur_PK.dic (and two files being links to these first two: ur_IN.aff ur_IN.dic) and a file giving credits to the original word file:
"id: This email address is being protected from spambots. You need JavaScript enabled to view it.
name: Urdu Dictionary
creator: Kashif Aqeel
version: 0.64
contributor: Word List provided at:
contributor: Friends at:
description: Standard Urdu (ur) spellchecking dictionary

4. I took the files ur_PK.aff and ur_PK.dic and put them into the directory /tmp.
5. I made sure that I had this directory: ~/.vim/spell (which would receive the generated vim spell check file produced by the command below).
6. I made sure that my .vimrc file contained this line (more at the end):
set encoding=utf-8
7. I opened a file with vim containing Urdu words which I wanted to check.
8. I entered the vim command:
:mkspell ~/.vim/spell/ur /tmp/ur_PK
9. I enjoyed seeing the resulting file ~/.vim/spell/ur.utf-8.spl which had been generated within seconds and which can be now downloaded from hereĀ  ur.utf-8.spl .
10. I entered the command in my Urdu vim file
:set spell spelllang=ur
and could start to use it for my spell-checking.