First of all, never, ever, ever edit the out of the box master; always make a copy and edit that copy if you must make changes to the original. This holds true whether you're deploying a master via a Visual Studio package (which is the best practice), or editing it in SharePoint Designer.
Yes, SharePoint Designer has gotten a lot better, but you've still got the issue that editing the master for site X in SPD will unghost the master (separate it from the original definition), and not give you a clear management path for pushing that updated master to other sites, or making future changes to that master.
With a Visual Studio package, you have the ability to push your new master with a feature, activate it on one or more site collections, then in the future simply push an update to that feature which will automatically update the master on any and all site collections where the feature has been activated.
You certainly can edit a master in Visual Studio (not the "live" master, but the master you're building to deploy in the package). Open the v4.master from the 14 hive in notepad, copy the contents of the file, and paste them into your custom.master that you've created in your Visual Studio solution.
Within your Visual Studio solution, you can create event receivers to detect the activation of the feature and automatically set that master as the master to be used on the site collection where the feature was activated (along with any webs under that site if you wish). Note that you should never assign the v4.master to search centers; search centers use the minimal.master and setting them to use the v4.master version will break the breadcrumb and a few other things. Inside your event receiver you'd want to include logic to determine the site type and set the appropriate master (so technically you are creating two masters for your site a custom_v4.master and a custom_minimal.master).
You can easily test your master by using the "F5" quick deploy in Visual Studio, which will compile the solution, push it to your test SharePoint server, and activate it. This way you can test your custom master without sending your untested WSP off to the real SharePoint server. It's not "live" like SPD editing, but it's pretty quick and painless.
There's a pretty good MSDN article here that goes through how to build a branding solution. This doesn't cover the logic to set custom_v4.master vs. custom_minimal.master automatically, but it should be a good start for you.