I have created a server application, which listens on port 6000 and responds on port 6001. Therefore the client sends data on 6000, and receives on 6001.

Presumably for the server, port 6000 would need to be opened.
Should I distribute client software to end-users, would they need to port forward port 6001 in order to receive responses from the server, or will they simply be able to use the application with no prior configuration?

you do need to port forward the two ports that you mentioned and you also need them to open or add them to exception list in client's firewall or windows firewall.

what you mean by this: "Should I distribute client software to end-users"

Should I distribute to end users.

As in, if/when I do.

I didn't know if NAT would deal with the ports, since the connection would be issued from the client-PC. Obviously 6000/6001 would have to be open on the server, and would need to be permitted in the users firewall software. Would it be stopped at a router level though? Would port forwarding/firewall rules at a router level (for normal commercial routers) be required, or would NAT generally deal with this?

not so familiar on how NAT works, but if the ports is open on the server and on users firewall the ports are also permitted then it should work fine.

you can check this site to test if the ports is open or not