1. I would have a talk with your boss. Remind them (time flies and people forget things) that your contract ends soon and ask if there is an opportunity to stay. Keep in mind that the company may not have an open position, so even if they want to keep you it does not necessarily mean that they can. A lot of companies have X amount of intern positions but these are intern positions and do not translate into permanent positions if an intern wants to stay. Other companies use intern positions to scout for potential long term employees and tend to be more open to offering interns a full-time job after their internship.
Explain that you have a job offer with all the requirements that you would expect, but would rather stay at their company if possible.
It is important to be honest about your expectations here. Directly ask if they would be willing to support your work visa, this is important. There are some employers who will tell you right here that they don't support working visas and that will be the end of it.
When it comes to pay I would leave it out of the first discussion. However, be sure to discuss or know your pay before signing a new contract. Some companies will try to keep you as a full-time 'intern' with the same pay. A raise in pay is normal if you are taking on a full-time position, check to make sure your new salary is on par with that of other employees with the same position at your company. If you have a specific number in mind then you need to discuss it with your boss.
2. Remember that you can always walk. If they immediately say that they can not keep you then it is perfectly ok to say that you will be taking the other job offer. If your contract is ending then you do not need to do anything formal. If, however, you want to leave before your contract ends you need to give a written letter of resignation. Also be aware that companies usually have a resignation period. For example where I am currently interning I have a 2 month resignation period. This means that there might be a couple of weeks or months between the time that you give the letter and until you can actually leave.
3. I would go with Monday, or any other day. To me bringing it up on a Monday would make the impression that you gave it thought over the weekend and wanted to discuss it as soon as possible. Honestly though the day of the week doesn't matter so much. Important is not to procrastinate and to make time for the talk with your boss, not wait for an opportunity to present itself.
4. Telling the company that you already have a job offer is good. This creates a little bit of pressure on them and gives you some room to bargain and ensure they meet your requirements.