Do I need to create a VM Kernel in order to achieve this? (like creating an ISCSI VMkernel)
Yes, or otherwise have an existing vmkernel interface where this export is accessible.
Do I have to enable ISCSI in the software HBA if shared storage is NFS?
No. iSCSI and NFS are totally different.
Is NFS recommended as shared VM datastore?
It is one possible recommendation, yes. Things always depend on several factors.