Okay, your question asks several things so I will try and address them individually.
1. Do I need to format the HDD as NFS (or other type?? - and how do I do that)
No - you can format the hard drive (in Ubuntu) to anything you like. NTFS, FAT, exFAT, ext3/ext4 are all fine and will work when sharing files over the network, because the network "client" (your Ubuntu server being the network "server") will never see that filesystem. The file transfer/sharing protocol you choose will bridge the server and client filesystems; your Windows clients will never have to interact directly with the Ubuntu filesystem.
2. How do I share the folders over the local network with Windows PCs?
The easiest and most straightforward way to share files from Ubuntu over the network with Windows clients is to use samba. There is a great guide on the Ubuntu community wiki on how to create a samba network share, user and get started serving files. The only part that would differ, with your client being Windows and not Linux, would be #8 - you would type \\<your Ubuntu server IP>\<your share name>
into Windows Explorer; this would connect to your samba share.
Samba is good with Windows clients because Windows support samba natively and doesn't require any extra software and minimal configuration on the client. However, given your third question, you may want to read on before setting off down the samba route..
3. How do I share the folders over the internet (another user)?
Sharing files over the internet can be done with samba, but it really isn't secure enough or designed for use over internet connections. Instead, consider something like Nextcloud to provide a safe, secure gateway to files on your home network. This too can be hosted on Ubuntu (guide here) and can, in theory, be used to share files with Windows clients too. It isn't as graceful nor as easy to setup on Windows as samba (Nextcloud has a client you download, install and link to your server) it is still very straightforward and easy to use.