You can simply uncheck the "Open as Dialog" option in the Add/Edit screen to disable modal behaviour.
Re: permissions - you should also be able to define visibility filters based on the return value of your Application.Current.User.HasPermission(Permissions.) statement on the screen render/create event.
Hope that helps. :)
UPDATE:
Ah... sorry - misunderstood the question.
Something like this should get you up and running as required:
using System;
using System.Linq;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections.Generic;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Framework.Client;
using Microsoft.LightSwitch.Presentation;
using Microsoft.LightSwitch.Presentation.Extensions;
namespace LightSwitchApplication
{
public partial class |ScreenName|
{
partial void |ScreenName|_Activated()
{
// Write your code here.
if (Application.Current.User.HasPermission(Permissions.|CantReadLookupRole|))
{
this.FindControl("LookupItem1").IsEnabled = false;
}
}
}
}
Where |CantReadLookupRole| is a placeholder for the role for which you want to disable the control and |ScreenName| is a placeholder for the name of the screen.