Allow Customer to Request Estimate
The customer should be able to request a quote directly in the portal with a large descriptive section and the ability to upload files. Then - the Estimate request could come to me and I could accept/decline the request with some text of my own. If Accepted - it simply becomes an Estimate and I can take it from there. If declined - the request goes back to the customer requesting more information or with my explanation of why I can't provide an estimate.
I like it. This would act as an official "Request for Service", rather than simply sending emails back-n-forth.