Generally no you cannot force refinance if they are in compliance.
The time value of money dictates a dollar is worth more today than it is tomorrow. Thus if I am giving you money today I need to recieve more back tomorrow.
The formula is F = P * (1+I)exponentially raised to t. Where F = future value, P = present value, I = interest rate, and t = time periods (compounding periods) until F is recieved.
At 4.7%, $1000 recieved at the end of the year is worth $955 today. If the $1000 is recieved at the end of two years it is only worth $912. If the $1000 is recieved in 23 years it is only worth $347 today or 34.7%.
Since a mortgage is a series of payments, calculating the time value of the money can get complex. Spreadsheets and financial calculators often have functions for calculating the present value of an annuity stream. There are also charts that can provide certain factors to simplify the calculation.
If you were to promise to give me $1000 at the end of each year for 23 years, at 4.7% with simple annual compounding, today that is worth $13878.35 or 60.3% of the $23000 you will give me.
Thus if they are willing to give you 65% it is because a premium is being included since 4.7% is slightly higher than current owner occupied mortgage rates.
There are many companies that buy mortgage and annuity streams. A simple internet search proves this.