1) In order to reliably send messages to the user, unprompted by user interaction, you will need Subscription Messaging permissions from FB, which is currently in a restrictive beta.
Subscription Messaging is limited to non-advertisment messages from apps in News, Personal Tracker, and Productivity categories. If your bot fits into one of these categories, you can potentially get the permissions to do what you want.
If it does not, you can still send notifications to users, but will need to elicit their response (button press, text response) each time to earn another message outside of the 24hr limit imposed on Standard Messaging. These messages can be promotional.
2) To get the page scoped id of a user when you have their user id for another app or page use the ID Matching API.
You must create a FB Business account (if you do not already have one) and associate your apps and pages with the business, follow the guide in the ID Matching API Docs.
To get all page scoped id's for pages owned by your Business account, when you have a user's app id (from FB login, as an example) you will make the following request to the Graph API:
GET /{user-id}/ids_for_pages
?access_token=[app_access_token]
&appsecret_proof=[appsecret_proof]
You will receive a response that looks something like this, containing the page scoped id of the specified user for each page your business account owns:
"data": [
{
"id": "12345123", // The psid for the user for that page
"page": {
"category": "Musician",
"link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
"name": "John's Next Great Thing",
"id": "380374449010653"
}
}
]