1) virtual procedures are not required. Based upon your needs you can optionally use virtual procedures or view update procedures to handle updates.
2) you can issues updates directly to the physical model, but that is not quite the same as issuing directly to the database. The SQL must still be targeted to Teiid.
3) imported stored procedure and virtual procedures may be called from the client.
4) you may be looking more for a recommended approach rather than a specific section of doc. The docs do cover issuing update statements and calling stored procedures and do not mandate that you must create virtual procedures. Is there something that you need procedure logic for?