i think you can access master page variable and control. but you can't declare gloabl
here is some code 
try this 
master page source code 
 
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div>
MasterPage Label:
<asp:Label ID="lblMaster" runat="server" Text="Sample master Page label Control"/>
MasterPage Textbox:
<td><asp:textbox ID="txtMaster" runat="server" Text="Sample Master Page Textbox Control"/>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>
master c# code 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class MasterPage : System.Web.UI.MasterPage
{
    public string MyString = "this string is access in child page";
    protected void Page_Load(object sender, EventArgs e)
    {
    }
}
child source code 
 
 
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    <b>Content Page Label Value:</b>
<asp:Label ID="lblContent" runat="server"/>
<br />
<b>Content Page Textbox Value:</b>
<asp:Textbox ID="txtContent" runat="server"/>
</asp:Content>
child page c# code 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        /*.....................user Master Valiable in child page start  */
        MasterPage ms = new MasterPage();// Master Page Name 
        Label1.Text = ms.MyString;
        /*.....................user Master Valiable in child page   end */
        /*.....................access Master control in child page   Start  */
        if (!IsPostBack)
        {
            Label masterlbl = (Label)Master.FindControl("lblMaster");
            TextBox mastertxt = (TextBox)Master.FindControl("txtMaster");
            lblContent.Text = masterlbl.Text;
            txtContent.Text = mastertxt.Text;
        }
        /*.....................access Master control in child page   end   */
    }
}