Quickly changing Windows permissions for a huge directory tree?
If you want the user to have read permission on a folder and all sub-folders, then the permissions of the sub-folders must be changed as well. It sounds like inheritance is already set and you just don't want to wait for this inheritance to propagate to all of the child objects. The only thing you can do besides wait is add the user to an existing group that has the appropriate permissions, assuming such a group exists.
There is no quick way to do this. Explorer will happily trundle off for hours (days?) applying the new permission to every file and folder (if inheritance is set).
Enabling a share is much easier, the user just needs at least read permissions on the share. The underlying NTFS permissions will determine what the user can actually do. Note that if the share permission is read-only, then that is the maximum access even if the NTFS security is set to modify (r/w).
In this case, there's no need to mess with the NTFS permissions.
Just create a Share to the top-level directory and add the users or groups to the share with Read-Only (or if you want Write) permission.
Even if Everyone has Full Control NTFS permissions on the top-level directory, the most restrictive permission (Share or NTFS) will be used.