Is there a way to upload users and then send emails to them with their password or require them to change their password the first time they log into the site?

No, it is not possible for you send the password to the user via email.  We do not store that information as plain text - it is encrypted.  
Here is a possible workaround:
  1. Create a generic password for every user - such as "changeme" (without the quotation marks).
  2. Customize the new user email notification to add text stating that the password is changeme or whatever password you choose.  Also, include instructions for changing the password after logging into the portal for the first time. See this article for instructions on customizing email notifications: Can I customize the notification emails that are sent out?
  3. Import your site users. Be sure to:
    • Do steps 1 and 2 before importing the users.
    • When you import users, be sure to check the "Send Notifications" button.
    • In your user import template, make sure that you have set that the users can receive notifications.
Note that the option to customize email notifications is not available to customers with the Standard Package.  Customers with the standard package may wish to use our MailChimp integration to push the list of users into MailChimp and send a custom new account email notification via MailChimp.  See this article for information about using the MailChimp integration:  How do I use the MailChimp Integration?
As an alternative to sending a password, you can send your users a link to the lost password page. The link would be the domain of your site followed by "/lostpassword" (without the quotation marks).  Since the user doesn't know the password you set when creating the user accounts, the user would need to reset the password before logging into the site.