I believe you could accomplish the first item easily with business rules but I am not sure about the other 2. I would have to play around with the rules a bit and see if that could be done. The reason I say that is because rules are event driven. Something happens like an email received or someone modifies a ticket, which triggers a rule that makes something else happen. In the case of closing a ticket when nothing happens or notifying users that nothing has happened in a while, that might not be possible since there is no event. In those cases, the only event is the last action so it might be possible to do something on Tickets that are modified, to repeat a notification on some interval until the ticket is closed. OR, if the clock is stopped, to send an email repeatedly until something else happens. That may way.
You may also want to consider looking at SLAs. You can set up Service Level Agreements and use the Milestones feature to send notifications. In that case you might do something like, send an email or update the ticket or both 7 days after the ticket was last modified, or 14 days after or 20 days. Or all 3. Probably a combination of business rules and SLAs will get you what you are looking for.