Sometimes I would like to attach private files in private messages, is there a way to do this instead of uploading it in a random thread or uploading it to a public web server?
No, if you're using space on the server for your files, they should be available to the community for all to see and use. I would recommend sending files via email or instant messaging services.